Polymer 2.0:如何在阴影dom中动态附加子项,因为追加子项不起作用

时间:2017-04-02 21:12:55

标签: polymer web-component polymer-2.x

尝试添加子元素时收到此错误消息:

  

未捕获的TypeError:无法在'Node'上执行'appendChild':参数1不是'Node'类型。

2 个答案:

答案 0 :(得分:2)

您可以尝试:

      // Get element from shadow dom
      var containerEle = Polymer.dom(this.root).querySelector('shadow_dom_selector');

      // Create dynamic element
      var newEle = document.createElement('span');
      newEle.textContent = 'Hello World';

      // Append
      containerEle.appendChild(newEle);

如果您的容器元素具有id

      Polymer.dom(this.$.containerElementId).appendChild(newEle);

答案 1 :(得分:2)

在组件的上下文中,例如在ready方法中,尝试以下操作。

ready(){
    super.ready();
    this.root.appendChild(newEle);
}

或者从组件外部,例如在组件的任何主机中,尝试以下操作。

document.querySelector("your-component-is").root.appendChild(newEle);