我有以下对象:
{
types: ["Type A", "Type B", "Type C"],
colours: ["Red", "Blue", "Black"]
}
我作为参数发送到组件
export default Ember.component.extend({
tableContent: function(){
const keys = Object.keys(this.get('config'));
if (keys.length > 1){
let array = [];
keys.shift();
keys.forEach((element) => {
array.pushObject({name: element});
});
return array;
}
}.property('config')
我希望能够在创建新添加时收听更改。例如:
{
types: ["Type A", "Type B", "Type C"],
colours: ["Red", "Blue", "Black", "Yellow"].
lang: ["en","fr","es"]
}
我尝试过使用.property('config。@ each'),但它无法正常工作。
有什么想法吗? 感谢。
答案 0 :(得分:1)
config
是一个对象,因此config.types.@each
将起作用。
您可以收听所有config.types.@each
config.colours.@each
config.lang.@each
,也可以将其缩短为config.{types,colours,lang}.@each
参考:https://guides.emberjs.com/v2.16.0/object-model/computed-properties-and-aggregate-data/