Because of the way you have set up multiple watches inside and outside your directive, you’ve managed to expose a bug that I have fixed in the 1.2.x series:
<https://github.com/angular/angular.js/commit/2d0f6ccba896fe34141d6d4f59eef6fba580c5c2> https://github.com/angular/angular.js/commit/2d0f6ccba896fe34141d6d4f59eef6fba580c5c2 Basically, the problem is that the preferences.all variable is updated via two mechanisms withing the same digest cycle, which later confuses angular as to which side changed and which side should be updated on an isolate scope. It is a pretty simple fix, that should be able to be back-ported to 1.0.x series. I don’t know what the support policy is for 1.0.x, but you could start an issue and see if the angular team would apply the patch to 1.0.x. -- You received this message because you are subscribed to the Google Groups "AngularJS" group. To unsubscribe from this group and stop receiving emails from it, send an email to angular+unsubscr...@googlegroups.com. To post to this group, send email to angular@googlegroups.com. Visit this group at http://groups.google.com/group/angular. For more options, visit https://groups.google.com/groups/opt_out.