在父元素和子元素之间绑定一个值,其中子元素是使用javascript创建的
使用Polymer,有人知道如何在父元素和子元素之间绑定值吗 下面是我的尝试,但它不起作用 注意:在父元素和子元素之间绑定一个值,其中子元素是使用javascript创建的,javascript,polymer,web-component,polymer-1.0,Javascript,Polymer,Web Component,Polymer 1.0,使用Polymer,有人知道如何在父元素和子元素之间绑定值吗 下面是我的尝试,但它不起作用 注意:子组件需要使用JavaScript创建 {{sharedValue}} 聚合物({is:'主体组分', 特性:{ 共享价值:{ 类型:字符串, 通知:正确, 观察者:“SharedValue已更改” } }, 附:函数(){ var newElement=document.createElement('child-component'); dom(this.$.childComponentCont
子组件
需要使用JavaScript创建
{{sharedValue}}
聚合物({is:'主体组分',
特性:{
共享价值:{
类型:字符串,
通知:正确,
观察者:“SharedValue已更改”
}
},
附:函数(){
var newElement=document.createElement('child-component');
dom(this.$.childComponentContainer).appendChild(newElement);
},
SharedValue已更改:函数(d){
console.log(d,“,孩子说”);
}
});
聚合物({is:'子组分',
特性:{
共享价值:{
类型:字符串,
通知:正确,
reflectToAttribute:true,
}
},
});
谢谢:)在重新阅读Polymer的文档(多次)之后,我发现了一个关于每次更改Polymer时by触发DOM事件的部分。由此,我想出了下面的解决方法 您会注意到这个版本还有双向绑定,因此主机可以更改子对象的值,子对象可以更改主机的值
主机:{{sharedValue}}
主持人:
聚合物({is:'主体组分',
特性:{
共享价值:{
类型:字符串,
通知:正确,
值:“未更改”,
观察者:“SharedValue已更改”
}
},
附:函数(){
这个.$.childComponent=document.createElement('child-component');
var host=this;
//侦听子级的sharedValue。当更改时,它将更新主机的sharedValue。
此.$.childComponent.addEventListener(“共享值已更改”,函数(e){
host.sharedValue=this.sharedValue;
});
dom(this.$.childComponentContainer).appendChild(this.$.childComponent);
},
//观察主机的sharedValue。当更改时,它将更新子级的sharedValue。
SharedValue已更改:函数(值){
if(此.$.childComponent){
此.$.childComponent.sharedValue=值;
}
}
});
子项:{{sharedValue}}
儿童:
聚合物({is:'子组分',
特性:{
共享价值:{
类型:字符串,
通知:正确,
值:“未更改”,
reflectToAttribute:true,
}
}
});
也有类似的帖子