This helped explain it to me - https://medium.com/@eugeniyoz/angular-signals-reactive-context-and-dynamic-dependency-tracking-d2d6100568b0
My read is that both the signal()
function and the computed()
function make calls to an external dependency tracking system.
When you call signal()
from inside computed()
, that signal basically registers as a dependency of that computed function. So thats how computed
can figure out when it needs to update.