Javascript 在自定义元素中使用聚合阴影dom的问题

Javascript 在自定义元素中使用聚合阴影dom的问题,javascript,polymer,polymer-1.0,Javascript,Polymer,Polymer 1.0,我正在尝试创建一个自定义的聚合物元素。它需要向div容器添加一个新标记 以下是一个例子: <dom-module id="my-element"> <template> <div id="container"></div> </template> <script> Polymer({ is: 'my-element', someHandler: function() {

我正在尝试创建一个自定义的聚合物元素。它需要向div容器添加一个新标记

以下是一个例子:

<dom-module id="my-element">
  <template>
    <div id="container"></div>
  </template>
  <script>
    Polymer({
      is: 'my-element',
      someHandler: function() {
        var el = document.createElement('span');
        this.$.container.appendChild(el);
      }
    });
  </script>
</dom-module>

聚合物({
是‘我的元素’,
someHandler:function(){
var el=document.createElement('span');
这个$.container.appendChild(el);
}
});

但是,如果我将此元素添加到布局中两次,并在第二个元素上调用
someHandler()
,它将向第一个元素添加span。发生了什么?如何修复它?

要使用JavaScript操作节点,必须使用Polymer的API。下面是报告的内容:

注意:所有DOM操作都必须使用此API,而不是直接在节点上使用DOM API

在代码中,要添加子节点,应编写:

Polymer.dom(this.$.container).appendChild(el);

我认为这也是出于性能原因,但正如您所见,它似乎也与Polymer如何管理其节点有关。

要使用JavaScript操作节点,必须使用Polymer的API。下面是报告的内容:

注意:所有DOM操作都必须使用此API,而不是直接在节点上使用DOM API

在代码中,要添加子节点,应编写:

Polymer.dom(this.$.container).appendChild(el);

我认为这也是出于性能原因,但正如您所看到的,它似乎也与Polymer如何管理其节点有关。

@Supersharp好的,删除了那些标记。我认为您应该使用
Polymer.dom(this.$.container)。appendChild(el)
instead@TomaszPluskiewicz伟大的成功了!非常感谢你!很高兴我能帮忙。我加了这个作为一个例子answer@Supersharp好的,删除了那些标记。我认为您应该使用
Polymer.dom(这个.$.container).appendChild(el)
instead@TomaszPluskiewicz伟大的成功了!非常感谢你!很高兴我能帮忙。我加上这个作为回答