所以我在component.js
:contexts: Ember.computed.oneWay('myService.contexts'),
我可以从另一个动作中获取内容
openHelp(){
console.log(this.get('contexts'))
alert(this.get('contexts'))
}
}
但是当我尝试在Handlebars({{contexts}}
)中使用计算属性时,它只是空白。
我为这个问题创建了一个Ember Twiddle:https://ember-twiddle.com/38de64d58dcf3298df6d4176f15cbc0e?openFiles=components.my-component-help.js%2Ctemplates.components.my-component-help.hbs
如果我有一个数组foo: [ 'foo','bar']
而我做{{foo}}它会在把手中输出。但是,如果我使foo
计算属性从[ 'foo','bar']
获取并执行{{foo}}
,我什么也得不到。
答案 0 :(得分:1)
有两个问题:
contexts
是一个数组。当您console.log
或alert
时,这些方法会在某些浏览器JSON.stringify
内部为您提供便利。恩伯不会这样做。您需要自己格式化数组,或者像我一样格式化数组each
。出于调试目的,请随意使用log
帮助程序。
数组上的计算属性通过Ember的方法(例如pushObject
和removeObject
)监视数组突变。只需使用push
或splice
,就不会更新计算属性。
答案 1 :(得分:1)
不能评论上述答案是正确的,因为我没有足够的声誉,但我想添加一个链接到与Ember的可观察枚举方法相关的文档:< / p>