AngularJS changing model value in one controller triggers model update in others

前端 未结 2 829
野趣味
野趣味 2021-02-04 22:13

EDIT:

Ok I update the example to avoid the loop problem, so back to the original question it sill recalculate B model objects.

In this example: http://jsfiddle.n

2条回答
  •  误落风尘
    2021-02-04 22:48

    During the template rendering, if you change the model or object used for binding the template, it will trigger a new rendering cycle which will end up with a endless loop. It will cause this error 'Error: 10 $digest() iterations reached. Aborting!'.

    In your code, when {{a()}} is being rendered, it modifies the object counter by the statement $scope.counter++;, which will trigger the endless loop since in the template {{counter}} needs to be rendered.

    (What you see is caused by the broken evaluation, so you will see some funky behavior.)

提交回复
热议问题