【问题标题】:Angular 1.3 one-way binding isn't workingAngular 1.3 单向绑定不起作用
【发布时间】:2015-03-13 01:42:38
【问题描述】:

我有一个大型 Angular 应用程序。我正在从 1.2 迁移到 1.3,并且在此过程中,从 bindonce 迁移到 Angular 1.3 的本机单向绑定。问题是,无论出于何种原因,观察者都不会像使用“价值稳定算法”https://docs.angularjs.org/guide/expression#value-stabilization-algorithm 那样取消注册。

{{::var1}} 这样简单的东西会保留它的观察者。它导致与{{var1} 相同的总观察者计数。但是,<span bindonce="var1" bo-text="var1"></span> 效果很好。

不幸的是,我无法在 plnkr 中复制它。我确保我的应用程序正在运行 Angular 1.3.14。观察者不注销的任何原因?我怀疑这与应用程序使用的其他模块的组合有关,但不确定如何确认。

【问题讨论】:

  • 这个值最初是undefined吗?如果表达式为undefined,则与该表达式的观察者关联的观察者将“未实现”并且不会被注销。
  • 不,该值应该立即具有值。我只是在我的控制器中执行 $scope.var1 = "test" ,然后使用三种绑定方法在 UI 中显示它。只有 bindonce 实际上删除了观察者。在使用类似示例的 plnkr 中,Angular 1.3 确实删除了观察者,因此我的代码库必须有所不同。我确定我在我的应用中使用 Angular 1.3。

标签: angularjs


【解决方案1】:

问题最终出现在以下参考文献中提到的batarang 扩展。

angular 1.3 bind once doesn't work

https://github.com/angular/angularjs-batarang/issues/209

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-28
    • 2017-12-15
    • 2016-07-21
    • 2017-06-16
    • 2017-10-20
    • 1970-01-01
    相关资源
    最近更新 更多