angularJs中的单向和双向数据绑定

时间:2017-03-08 09:05:31

标签: angularjs data-binding

在构建一个非常大规模的角度应用程序时遇到了性能问题。我的所有组件和视图都严重依赖于数据绑定,到处都有重复。所以我决定通过添加{{::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>

1 个答案:

答案 0 :(得分:0)

  

来自文档:一次性表达   一旦稳定,将停止重新计算,这发生在   如果表达式结果是非未定义的值,则首先进行摘要。

我对一次性绑定的理解是在范围变量首次初始化之后,如果对象值发生更改,视图将不会更改。 因为观察者没有生效。 前

$scope.myVar=null;
<p>{{::myVar}}</p>

如果$scope.myVar有任何更改,那么这些更改将不会在视图中生效 因为它只需要它的第一个初始化值。那是空的。