聚合物:无法移除儿童
Polymer: Unable to remove child
我正在尝试将元素动态加载到我的应用程序中,但在删除已导入的元素时遇到问题。
要导入我调用的元素:
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');
},
但是我是否以不同方式注册节点 and/or 使用已注册节点的实例调用 removeChild();
函数,我不断收到错误消息:
The node to be removed is not a child of this node: [object HTMLElement]
在深入了解属性时,我可以看到 newelement-view
已注册为父项的子项,并且 newelement-view
已将正确的父项注册为父项。我已经尝试了官方聚合物文档中的所有内容以及我在 stack-overflow 上可以找到的任何内容,但到目前为止,都无济于事。
任何有关如何删除子项或以更好的方式注册它的帮助将不胜感激!
这是一个关于如何做的例子
<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>
我正在尝试将元素动态加载到我的应用程序中,但在删除已导入的元素时遇到问题。
要导入我调用的元素:
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');
},
但是我是否以不同方式注册节点 and/or 使用已注册节点的实例调用 removeChild();
函数,我不断收到错误消息:
The node to be removed is not a child of this node: [object HTMLElement]
在深入了解属性时,我可以看到 newelement-view
已注册为父项的子项,并且 newelement-view
已将正确的父项注册为父项。我已经尝试了官方聚合物文档中的所有内容以及我在 stack-overflow 上可以找到的任何内容,但到目前为止,都无济于事。
任何有关如何删除子项或以更好的方式注册它的帮助将不胜感激!
这是一个关于如何做的例子
<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>