AngularJS中的摘要循环

时间:2015-11-17 21:20:38

标签: javascript angularjs

假设每次我在应用程序中执行某些操作时,摘要循环都会运行,这是否安全?它不是那种经常运行AFAIK的循环,所以当我想要它时,它就不会执行它的威胁。

如果我在html中有ng-if检查服务中的布尔值。我需要明确创建一个$watch,对吗? ng-if将隐藏或显示一些文字。

我想确保如果值为false,则文本将被隐藏。

1 个答案:

答案 0 :(得分:0)

你不需要任何$ watch。

你有一些带有ngIf指令的html代码。有一些模型,分配给该指令。另外,假设你有一个按钮,它可以恢复模型的调用功能。这个函数将是你的按钮的click处理程序。您将拥有类似ng-click='myFoo();的内容。当您单击按钮时,ngClick指令将自动触发$ digest循环。

所以,如果你想操纵DOM,你必须调用$ digest。常见指令,如ngClick,自己调用$ digest。如果您使用自己的指令或某些不会调用$ digest的指令,则必须自己调用它。

要自行致电摘要,您可以使用$timeout服务或$scope.$apply,例如。

$scope.$apply(function () { $scope.someModel = true; });

将触发函数代码,$ apply将启动$ digest循环