Ember.js:模型的计算属性,不在组件的变更参考中呈现

时间:2015-03-26 22:39:27

标签: javascript ember.js

我遇到的问题在this jsbin中非常明确地表达,其中计算属性isFinito在模板中不会随着isFinished的值而改变。这是组件的一个特性,它们可以监听传递给它们的模型的计算属性吗?如果是这样,我怎样才能做到这一点。这似乎是一个非常普遍的需求,但无论我搜索多少,我都找不到能够复制这个问题或解决它的东西。

1 个答案:

答案 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()。我知道它起初有点烦人,但你已经习惯了它,它有助于避免很多问题。