由于这一变化,新的RC8打破了我的应用程序(我的错...):
确实,我有以下情况:
Children belongTo Parent belongsTo GrandParent
我需要GrandParent在更新后代时收到通知。所以在每个模型级别我都有这样的计算属性:
// In GrandParent
innerChange: Ember.computed(function(){
}).property('parents.@each.innerChange'),
// In Parent
innerChange: Ember.computed(function(){
}).property('children.@each.innerChange'),
我知道这很糟糕而且不是惯用语,所以我希望改变它而不是修复它。
编辑:通过“修复它”我的意思是使用init钩子并获取属性(参见直觉像素答案)。但我认为RC8打破这一点表明我所做的并不是惯用的。所以我希望以不同的方式做到这一点。
现在在恩伯有没有正确的方法呢?或者它必须手动完成吗?
答案 0 :(得分:0)
说明关于rc8重播的new blog post可能对您有帮助,粗体底部的重要短语:
未计算的计算属性不会触发观察者 如果您从未获得计算属性,则即使其依赖键发生更改,其观察者也不会触发。您可以将值从一个未知值更改为另一个值。 这通常不会影响应用程序代码,因为计算属性几乎总是在获取时同时被观察到。例如,您获取计算属性的值,将其放入DOM(或使用D3绘制),然后观察它,以便在属性更改后更新DOM。
如果您需要观察计算属性但当前没有检索它,只需在init方法中获取它。
希望这有帮助。