范围。$申请没有解雇范围。$ watch

时间:2014-03-26 11:57:02

标签: angularjs

是否可以在AngularJS中执行范围。$ apply而不触发范围。$ watch?怎么能实现这一目标?我想更新模型,但不要在特定情况下点击$ watch。

1 个答案:

答案 0 :(得分:1)

不,不是。当您调用apply时,它将创建一个新的摘要循环,该循环将遍历通过该应用程序注册的所有观察者。更新模型基本上是触发手表。

也许你可以在你的$ watch中捕捉到这个更新,或者做一些聪明的事情,比如当你调用$ apply然后再次注册时取消注册。

如果您发布您想要实现的内容,也许值得。

PS:如果你想调用$ apply,最安全的方法是使用$ evalAsync包围你想要评估的任何代码。