Angular's $watch, $digest and $apply explained
angular-tips.comIt really is easy to end up with over 1000 watches in a page if you use any sort of list of length 100 or greater with complex data. Directives like bindonce help cut down on the watches, but it still isn't an easy problem to deal with.