当绑定项为对象并动态修改时,单向绑定不起作用
Posted
技术标签:
【中文标题】当绑定项为对象并动态修改时,单向绑定不起作用【英文标题】:one-way binding does not work when binding item is object and modified dynamically 【发布时间】:2017-02-06 14:53:14 【问题描述】:请查看plnkr 以查看代码。
我真的是 AngularJS 组件的新手。我编写了两个具有完全相同绑定的简单 AngularJS 组件。
bindings: value:'@', field:'@', object: '<', callback: '&'
我通过object
将一个javascript 对象传递到我的组件中。 field
指定我的 JS 对象中的属性名称。最后value
指的是JS对象属性的新值。
object[field] = value
如果组件未在其控制器中克隆 object
,则单向绑定不起作用(请参阅 plnkr 中的 onewaybindingfail
组件)。但是,通过在组件的控制器中克隆 object
一切都很好。
我想知道这种行为是预期的吗?如果是,为什么?还是我错过了什么?。
感谢您的帮助。
【问题讨论】:
【参考方案1】:这种行为是预期的。用“here 中也提到了这一点。
因此,如果您需要使用它,建议您制作该对象的副本。最好使用回调函数来更改父对象。这在官方 Angular 文档中也有更详细的解释。
【讨论】:
以上是关于当绑定项为对象并动态修改时,单向绑定不起作用的主要内容,如果未能解决你的问题,请参考以下文章