Angular 表达式观察者

Angular Watchers for expressions

我要回到 Angular 并且一直在阅读有关摘要周期和观察者的内容,我读到的一个 post 说对于 {{}} 中的表达式然后 angular 将在每个循环中对此进行评估。

鉴于以下情况,是否会设置 3 个观察者(数量、成本和花括号中的表达式)?

<div ng-app ng-init="qty=1;cost=2">
  <b>Invoice:</b>
  <div>
    Quantity: <input type="number" min="0" ng-model="qty">
  </div>
  <div>
    Costs: <input type="number" min="0" ng-model="cost">
  </div>
  <div>
    <b>Total:</b> {{qty * cost | currency}}
  </div>
</div>

该片段取自 angular 开发人员指南,当说 qty 变量增加并且摘要触发时,它会根据绑定到 qty 的观察者更新模型,然后调用另一个观察者来更新花括号中的表达式?

文章说每次循环运行时表达式观察器都会被触发,即使这 2 个模型变量没有改变。

谢谢

是的,这是观察者被解雇的 $digest 周期。 当观察者被触发时,AngularJS 评估作用域模型,如果它发生变化,则调用相应的监听器函数。