Javascript EmberJS触发器计算属性
假设我有以下计算属性Javascript EmberJS触发器计算属性,javascript,ember.js,Javascript,Ember.js,假设我有以下计算属性 someCP: function() { }.property(obj.innerObj.attr) 我的问题是,即使obj.innerObj没有定义“attr”,是否也会触发此操作 这个CP是如何工作的?首先,正如注释中已经提到的,依赖键应该是一个字符串: someCP: function() { }.property('obj.innerObj.attr') 此外,此代码可以重写为: someCP: Ember.computed('obj.innerObj.at
someCP: function() {
}.property(obj.innerObj.attr)
我的问题是,即使obj.innerObj没有定义“attr”,是否也会触发此操作
这个CP是如何工作的?首先,正如注释中已经提到的,依赖键应该是一个字符串:
someCP: function() {
}.property('obj.innerObj.attr')
此外,此代码可以重写为:
someCP: Ember.computed('obj.innerObj.attr', function() {
})
第一种形式不保证有效
至于“触发”,余烬应该在第一次使用时计算属性,而不是缓存它,并在从属属性更改时重新计算。在你的情况下,永远不会。但是,我不确定它在实践中如何工作,但理论上它应该以这种方式工作。computed属性的依赖键不是字符串,这是故意的吗?“触发”是什么意思?缓存不会失效,因为
attr
不存在,因此不会更新。尝试时发生了什么?为什么说第一个表单无法保证工作?@testndtv可以通过配置禁用它。如果您控制整个代码库和环境,这并不重要。你可以找到一个解释和