我们目前正在迁移到 Angular 1.3,同时测试 bindOnce 功能我遇到了这个问题:确切的一段代码......
控制器代码:
this.value = 'value';
this.clickTest = function () {
this.value = 'changed';
};
HTML:
//cm is the ControllerAs variable defined in the route
<p> {{ ::cm.value}} </p>
<button ng-click="cm.clickTest()"> CLICK </button>
...在一个控制器中工作正常,但在另一个控制器中没有 - 在工作控制器中,点击事件不会改变值,而在非工作控制器中它会改变值 - (两者的代码完全相同控制器,路由更改,显然其他一些东西也发生了变化)。为了有一个更好的测试环境,两个控制器都被清空了。
现在我想知道的是:有什么东西可以阻止 bindOnce 功能按预期工作吗?尽管视图中使用了正确的语法 (::),但是否有强制角度代码不删除观察者或再次启用它的东西?
我正在使用 Angular 1.3.2