Javascript 聚合物观测节点不';行不通
我正在尝试一个关于Javascript 聚合物观测节点不';行不通,javascript,polymer,polymer-1.0,mutation-observers,Javascript,Polymer,Polymer 1.0,Mutation Observers,我正在尝试一个关于观测节点聚合物设施的简单测试。本质上,我的代码为组件上的子节点更改定义了一个观察者 <dom-module id="wc-A"> <template> <div>Added Nodes : <span id="added"></span></div> <div>Removed Nodes : <span id="removed"></span&
观测节点聚合物设施的简单测试。本质上,我的代码为组件上的子节点更改定义了一个观察者
<dom-module id="wc-A">
<template>
<div>Added Nodes : <span id="added"></span></div>
<div>Removed Nodes : <span id="removed"></span></div>
</template>
<script>
Polymer ({
is: 'wc-A',
ready: function () {
Polymer
.dom (this)
.observeNodes (function (nodes) {
console.log (nodes)
this.$.added.textContent = nodes.addedNodes.length;
this.$.removed.textContent = nodes.removedNodes.length;
});
}
});
</script>
</dom-module>
完整的代码可以检查
我的错误是什么?提前感谢。您需要使用Polymer.dom(this.appendChild
而不是this.appendChild
,以使其与Polymer 1.0配合使用,如下所示:
我猜你已经打开了这个页面:我试图对你的plunker做一些快速更改,添加了一个content
标签,但是也没有用,我确实看到了添加的div。似乎有点类似于这个问题:也就是说,我在一个元素中观察到了为我工作的节点,但是在那里我没有以编程方式添加child,而是依赖于dom如果,那么它们是如何添加的呢#ASK聚合物
<div>
<button id="btnAdd">New</button>
<button id="btnRemove">Remove</button>
</div>
<wc-A> <!-- (1) Fires observer -->
<div class="data">1</div>
<div class="data">2</div>
</wc-A>
<template id=template>
<div class="data">3</div>
</template>
<script>
HTMLImports.whenReady (function () {
document
.querySelector ('#btnAdd')
.addEventListener ('click', function (e) {
var template = document.querySelector ('#template').content;
var div = template.querySelector ('div');
var wcA = document.querySelector ('wc-A')
wcA.appendChild (div.cloneNode (true)); // (2) Does not fire observer
});
document
.querySelector ('#btnRemove')
.addEventListener ('click', function (e) {
var wcA = document.querySelector ('wc-A')
var child = wcA.querySelector ('.data');
if (child)
wcA.removeChild ( // (3) Does not fire observer
child
);
});
});
</script>