我遇到的问题在this jsbin中非常明确地表达,其中计算属性isFinito在模板中不会随着isFinished的值而改变。这是组件的一个特性,它们可以监听传递给它们的模型的计算属性吗?如果是这样,我怎样才能做到这一点。这似乎是一个非常普遍的需求,但无论我搜索多少,我都找不到能够复制这个问题或解决它的东西。
答案 0 :(得分:1)
这实际上与观察者无关 - 原因是属性访问。请考虑以下行:
return (this.isFinished ? "SI" :"NON");
总是将返回NON
,因为this.isFinished
总是 falsy(它是undefined
)。 Ember-Data没有将数据直接放在模型实例上,它只是将计算属性放在那里。 this.isFinished
不存在。如果您使用Ember的get()
方法,它可以正常工作:
return (this.get('isFinished') ? "SI" :"NON");
作为一般规则,总是在处理Ember对象时使用get()
。我知道它起初有点烦人,但你已经习惯了它,它有助于避免很多问题。