是否可以在Polymer中克隆元素,以便侦听器仍在侦听值更改?
假设我想在#copyDiv
中复制这两个元素,这两个元素相互激发真正的值变化。
HTML
<div id="copyDiv">
<project-picker id="projectPicker" project="{{projectObject}}" on-value-changed="projectChanged"></project-picker>
<deliverable-picker projectId="{{projectId}}"></deliverable-picker>
</div>
projectChanged listener:
projectChanged: function(newD, oldD) {
[...some functionality]
this.projectId = this.$.projectPicker.project.projectCode;
},
更改projectId后,将触发deliverable-picker
以执行某些功能。这是应该的。但是,当我尝试复制这两个元素时,从克隆元素中挑选项目时不会调用projectChanged
。
更新
您可以在下面找到我正在尝试复制的模块的屏幕截图。选择项目时,将填充可交付项列表。用户单击项目后,可交付项将添加到右侧的摘要中。当我点击“添加另一个项目”按钮时,必须复制整个元素(红色边框)并在下面追加。
克隆dom节点的代码:
addAnotherProject: function() {
var newProject = this.$.projectdelivcombi.cloneNode(true);
for (var i in this.$.projectdelivcombi.properties) {
newProject[i] = this.$.projectdelivcombi[i];
}
this.$.projectdelivcombiContainer.append(newProject);
},
有没有办法让这项工作?