我正在尝试将元素动态加载到我的应用中,但是我在删除已导入的元素时遇到问题。
要导入我的元素,我打电话:
openNewElement: function(newElement) {
this.newElement = newElement;
var resolvedUrl = this.resolveUrl('newelement-view' + '.html')
this.importHref(resolvedUrl, null, null, true);
},
这成功导入并显示元素。现在我尝试使用以下许多不同的实现删除相同的元素:
closeNewElement: function() {
Polymer.dom(this).removeChild('newelement-view');
},
但是,无论我以不同方式注册节点和/或使用已注册节点的实例调用removeChild();
函数,我都会收到错误:
要删除的节点不是此节点的子节点:[object HTMLElement]
在潜入属性时,我可以看到newelement-view
已注册为父级的子级,而newelement-view
已将正确的父级注册为父级。我已经尝试了从官方聚合物文档和我在堆栈溢出上找到的任何东西,但到目前为止,无济于事。
有关如何移除孩子或以更好的方式注册儿童的任何帮助将非常感谢!
答案 0 :(得分:0)
以下是如何操作的示例
<base href="https://polygit.org/components/">
<script src="webcomponentsjs/webcomponents-lite.min.js"></script>
<link rel="import" href="polymer/polymer.html">
<dom-module id="remove-child">
<template>
<style></style>
<div class="firstChild">first chilld</div>
<p class="secondChild">second chilld</p>
</template>
</dom-module>
<script>
Polymer({
is: 'remove-child',
attached: function() {
this.removeChild(this.$$('.secondChild'));
}
})
</script>
<remove-child></remove-child>