javascript - Angular 会在同一个 $digest 周期中重新评估相同的 $watch 表达式吗?

标签 javascript angularjs

如果我有以下形式的模板:

<div ng-controller="testCtrl">
    <div ng-if="exFn()"></div>
    <div ng-if="exFn()"></div>
</div>

ngController 作用域会在每个 $digest 中调用 exFn 两次,还是作用域会记住 exFn() 表达式的新值并使用它而不是重新计算表达式?

最佳答案

它将调用 exFn 四次。两次找出每 block watch 的原始值(value),然后再两次看看它们是否稳定。这是有道理的:该函数可能取决于外部状态。

关于javascript - Angular 会在同一个 $digest 周期中重新评估相同的 $watch 表达式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33221930/

相关文章:

Javascript 和 onbeforeunload?

javascript - 如何将网页向下推以适合顶部栏

angularjs - Angular UI-Router 在重新加载时重置查询字符串参数

javascript - 使用 underscore.js 创建 javascript 自定义错误对象的快捷方式?

javascript - 从 Cheerio 抓取 Youtube 数据

javascript - angularjs:将制表符分隔的文本复制粘贴到文本区域,然后转换为表格

javascript - Angular .min.js :118 Error: [ng:areq]

javascript - 发布后更新 angularJS 中的 $scope 属性

javascript - 来自变量的实时测验分数

javascript - 从日期数组javascript中查找缺失的一天