Javascript 聚合物1.0阵列对结合变化的观察

Javascript 聚合物1.0阵列对结合变化的观察,javascript,polymer,web-component,polymer-1.0,custom-element,Javascript,Polymer,Web Component,Polymer 1.0,Custom Element,我试图观察传递给聚合物元素的一系列对象的变化。向阵列中添加新项时,聚合物元素中的阵列也会发生更改。但是,从未调用observer方法 含元素 <dom-module is="table-container"> <template> <selectable-table table-items="{{items}}"></selectable-table> <button on-click="addItem">Add I

我试图观察传递给聚合物元素的一系列对象的变化。向阵列中添加新项时,聚合物元素中的阵列也会发生更改。但是,从未调用observer方法

含元素

<dom-module is="table-container">
  <template>
    <selectable-table table-items="{{items}}"></selectable-table>
    <button on-click="addItem">Add Item</button>    
  </template>
  <script>
    Polymer({
      is : "table-container",
      attached : function() {
        this.items = [];
        for (var i = 0; i < 3; i++) {
          this.push("items", {
            numerical: "1",
            english: "one"
          });
        }
      },
      addItem : function() {
        this.push("items", {
          numerical: "3",
          english: "three"
        })
      }
    })
  </script>
</dom-module>

添加项
聚合物({
是:“表容器”,
附:函数(){
此参数为.items=[];
对于(变量i=0;i<3;i++){
这个。推送(“项目”{
数字:“1”,
中文:“一”
});
}
},
附加项:函数(){
这个。推送(“项目”{
数字:“3”,
中文:“三”
})
}
})
尝试在此处观察更改:

<dom-module id="selectable-table>
  <template>
    <div>{{tableItems}}</div>
  </template>
  <script>
    Polymer({
      is : "selectable-table",
      properties : {
        tableItems: {
          type: Object,
          notify: true,
          observer: "updateTableItems"
        }
      }
      updateTableItems : function() {
        // Updates here
      }
    });
  </script>
</dom-module>

要观察阵列的更改,请使用以下类型的观察者

Polymer({
  is : "selectable-table",
  properties : {
    tableItems: {
      type: Array,
      notify: true,
    }
  },

  observers: [
      'updateTableItems(tableItems.*)'
  ],
  updateTableItems : function() {
    // Updates here
  }
});
因为
tableItems
是一个对象数组,所以在属性声明中应该使用类型
array
。如果将新数组实例分配给
tableItems
属性,则仅会触发您使用的观察者类型。要操作数组,请将回调添加到
observer
。您可以在中找到更多详细信息