Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript EmberJS触发器计算属性_Javascript_Ember.js - Fatal编程技术网

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可以通过配置禁用它。如果您控制整个代码库和环境,这并不重要。你可以找到一个解释和