依赖的OneWay CP更新时,不会重新计算计算的属性

时间:2018-10-03 21:08:47

标签: ember.js

假设我有一个oneWay CP,它最初绑定到模型属性(因此,如果更新,则可以自由发散)

可以将CP设置为值fixeddynamic。我有一些equal CP,而这些CP又依赖于此oneWayCp的变化

oneWayCp: oneWay('model.field')
isFixed: equal('oneWayCp', 'fixed').volatile().readOnly(),
isDynamic: equal('oneWayCp', 'dynamic').volatile().readOnly(),

我看到一个奇怪的错误,其中isFixedisDynamic在更新oneWayCp时没有更新

这是预期的行为吗?

1 个答案:

答案 0 :(得分:3)

实际上,您的问题是.volatile()。基本上,这会禁用依赖项键更新行为。

Here是一个固定的玩笑。

所以您应该这样做:

oneWayCp: oneWay('model.field')
isFixed: equal('oneWayCp', 'fixed').readOnly(),
isDynamic: equal('oneWayCp', 'dynamic').readOnly(),

请参阅documentation

  

它也不会自动触发任何更改事件。如果要观察此属性,必须手动通知任何更改。