EmberJS触发计算属性

时间:2016-06-30 13:40:56

标签: javascript ember.js

假设我有以下计算属性;

someCP: function() {

}.property(obj.innerObj.attr)

我的问题是,即使obj.innerObj没有定义'attr',这会被触发吗?

这个CP如何运作?

1 个答案:

答案 0 :(得分:0)

首先,正如评论中已经提到的,依赖键应该是一个字符串:

someCP: function() {

}.property('obj.innerObj.attr')

此外,此代码可能会重写为:

someCP: Ember.computed('obj.innerObj.attr', function() {

})

第一种形式无法保证工作。

对于“触发”,Ember应该在第一次使用时计算属性,而不是缓存它并在依赖属性更改时重新计算。在你的情况下,它永远不会。但是我不确定它在实践中会起作用,但理论上它应该以这种方式工作。