0

我有一个应该跟踪其子节点中的信息的主机组件。子节点是使用 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]to更改时,[c,d]它将重用两个现有节点,因此不会调用 _nodesChanged。

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

4

0 回答 0