在计算函数上侦听新添加的属性

时间:2017-10-12 16:47:43

标签: ember.js

我有以下对象:

{ 
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'),但它无法正常工作。

有什么想法吗? 感谢。

1 个答案:

答案 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/