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

Listen for new added properties on a computed function

我有以下对象:

{ 
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"]
} 

我试过使用 .属性('config.@each') 但它不起作用。

有什么想法吗? 谢谢

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/