Angular's $watch, $digest and $apply explained | Dark Hacker News