AngularJS – ng-show使用方法连续调用

前端之家收集整理的这篇文章主要介绍了AngularJS – ng-show使用方法连续调用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
据我所知,ng-show和其他绑定一样,一旦摘要稳定,就应该停止调用相关的方法.考虑到这一点,我希望看到以下console.log()两次.然而,它每秒记录一次.

我的理解是否有缺陷,我的实施,或者这是否按预期运作,我不应该担心这些方法会不断被称为负面的性能影响?

方法(在CoffeeScript中)

$scope.showThis = ->
    console.log("foobar")
    true

带有ng-show的HTML标记

<div ng-show="showThis()">hey,you can see me!</div>

感谢您的任何见解=]

正确的理解是,一旦摘要“稳定”,就会调用ng-show.但是,您可能无法理解的是,应用摘要周期可能会被许多事情触发,因此您的ng-show将被多次调用此范围.您可以调试并检查此范围的apply / digest的调用次数与ng-show的方法完全相同.无法保证只应调用一次,两次或任何时间.只要在您的示波器上触发摘要/应用周期,您就会获得console.log.就那么简单.

当然,触发摘要/应用周期的原因可能是多次,但在我看来,如果你不触发浏览器事件或不做重新加载或者不做一些超时的事情,它最终应该停止.如果它没有停止,那么你搞砸了某个地方.

我为你创建了一个Plunkr,所以你可以在正常的情况下检查它,它会被调用一次或两次,如果你不采取行动,没有任何反应.但是,如果您按下更新完全不同的范围值的按钮,则会触发范围摘要/应用周期,您将获得一个额外的console.log:

http://plnkr.co/edit/x9I6VGP8eXtLGmT1Cuqu?p=preview

原文链接:https://www.f2er.com/angularjs/140252.html

猜你在找的Angularjs相关文章