首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AngularJs:再次检查ng-show

AngularJs:再次检查ng-show
EN

Stack Overflow用户
提问于 2013-10-13 18:00:19
回答 2查看 479关注 0票数 0

为什么像ng-show (或其他)指令中的任何表达式检查都是重复的?我做了一个简单的http://jsfiddle.net/fA5YX/例子。见浏览器控制台。

代码语言:javascript
复制
<div ng-app ng-controller="ctrl" ng-show="test()">shown</div>
<script>
function ctrl($scope) {
    $scope.test = function() {
        console.log('check');
        return true;
    }
}
</script>

怎么让它停下来?我只需要一张支票。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-13 18:09:59

也许链接到Controller function getting called twice using ng-show -引用如下:

在每个摘要周期,对于每个表,AngularJS对关联表达式进行评估,以查看是否有任何更改,如果存在,则调用侦听器(在ng-show/ng-hide的情况下,侦听器将根据ready()返回的值显示或隐藏元素)。

票数 2
EN

Stack Overflow用户

发布于 2013-10-13 18:20:15

每个观察者都在消化周期运行。摘要循环被重复,直到所有的结果都没有改变值(或者当角保护无限循环时)。这就是为什么您的观察者多次运行的原因。底线是,不要只依靠观察者被发射一次,因为这违反了基本的基本规则,为什么角的工作。

如果你贴出你想要达到的目标的细节,我们也许能引导你走向一个在角度哲学中工作的模式。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19348406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档