跟踪dom-repeat创建的子节点,除了添加/删除之外还有更新

时间:2017-02-03 12:28:38

标签: polymer polymer-1.0 dom-repeat

我有一个主机组件,应该跟踪其子节点中的信息。子节点使用dom-repeat创建:

<!--host-->
<dom-repeat items="[[data]]">
  <div>...</div>
<dom-repeat>

我可以跟踪dom-repeat添加或删除的节点:

//host
attached: function(){
  this_observer = Polymer.dom(this).observeNodes(this._nodesChanged);
}
_nodesChanged: function(info){
  // handle info.addedNodes, info.removedNodes
}

但是,当items更改时,dom-repeat会回收现有节点。因此,例如,当data[a,b]更改为[c,d]时,它将重用两个现有节点,因此不会调用_nodesChanged。

什么是主机组件知道何时更新回收子节点的好方法?主机组件应该能够在不知道子组件的内部工作原理的情况下这样做(封装原则)。

0 个答案:

没有答案