在构建一个非常大规模的角度应用程序时遇到了性能问题。我的所有组件和视图都严重依赖于数据绑定,到处都有重复。所以我决定通过添加{{::scopevariableName}}
删除所有2路数据绑定,现在因为没有2路数据绑定我的问题是如果控制器中的模态值改变了视图会更新吗?
function myCtr(){
var that=this;
this.scopevariableName='hannad'
this.someFunction=function(){
someEvent(function(callbackData){
if(callbackData){
that.scopevariableName='new value for scope variable'
}
});
}
}
<p ng-bind="::$ctrl.somevariableName"></p>
答案 0 :(得分:0)
来自文档:一次性表达 一旦稳定,将停止重新计算,这发生在 如果表达式结果是非未定义的值,则首先进行摘要。
我对一次性绑定的理解是在范围变量首次初始化之后,如果对象值发生更改,视图将不会更改。 因为观察者没有生效。 前
$scope.myVar=null;
<p>{{::myVar}}</p>
如果$scope.myVar
有任何更改,那么这些更改将不会在视图中生效
因为它只需要它的第一个初始化值。那是空的。