2017-03-08 124 views
0

同时构建一个非常大规模的角度应用我遇到了性能问题。我所有的组件和视图在很大程度上取决于数据绑定,在那里无处不在。所以我决定通过添加{{::scopevariableName}}来删除所有2路数据绑定,现在因为没有2路数据绑定,我的问题是如果控制器中的模态值发生更改,视图会更新吗?单向和双向数据绑定在angularJs

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

尝试手动重新编译您的视图。 – lin

+0

@lin什么是默认行为或单向绑定? –

+0

对于真正的单向绑定,是的。以下链接可能会对你有所帮助,但它不是一个真正的单向约束。这是隔离范围的示例:https://jsfiddle.net/toddmotto/wauana12/?utm_source=website&utm_medium=embed&utm_campaign=wauana12 – lin

回答

0

从文档:一次性表达式 将停止重新计算一次它们是稳定的,之后的 第一摘要如果表达式的结果是一种非未定义的值恰好。

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

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

如果有任何变化$scope.myVar那些在视图 不会影响,因为这将只需要它的第一初始化值。那是null。