Javascript 如何调用直接父元素函数 请考虑以下例子:
Javascript 如何调用直接父元素函数 请考虑以下例子:,javascript,polymer,Javascript,Polymer,外面的 推 外面的 聚合物(“my-outer”{ 按钮单击:函数(){ //更新前未对其进行评论 //此.$.inner.buttonClick(); } }); 聚合物(“my-inner”{ //更新 domReady:function(){ this.eventController=this; }, //结束更新 按钮单击:函数(){ 警惕(“内部”); } }); 可以使用数据绑定,但这种解决方案并不优雅。我更喜欢你最初的解决方案 外面的 推 外面的 聚合物({ 点击:错, 单击:
外面的
推
外面的
聚合物(“my-outer”{
按钮单击:函数(){
//更新前未对其进行评论
//此.$.inner.buttonClick();
}
});
聚合物(“my-inner”{
//更新
domReady:function(){
this.eventController=this;
},
//结束更新
按钮单击:函数(){
警惕(“内部”);
}
});
可以使用数据绑定,但这种解决方案并不优雅。我更喜欢你最初的解决方案
外面的
推
外面的
聚合物({
点击:错,
单击:函数(){
this.clicked=!this.clicked;
}
});
聚合物(“my-inner”{
出版:{
点击:{
值:false,
反映:正确
}
},
clickedChanged:函数(){
警惕(“内部”);
}
});
感谢您的输入!但正如您所说,您的解决方案看起来并不比原始方案好多少,因为它仍然通过事件进行相同的委托,因此外部elt需要对内部elt了解太多。在现实生活中,外部elt用于布局,内部elt用于进行ajax调用。如果你真的要在元素之间做出如此强烈的区分,我不相信你想要实现的目标是可能的。这是因为影子dom绑定具有严格作用域的属性。当然,我可能是错的,但我只是看不到任何其他方法来实现您试图使其工作的目标-请参阅更新,但不确定这是否是一种好的方式,我以前从未听说过该物业。不过很高兴你让它工作了。我建议您为原始问题写一个新的答案,解释您的解决方案,并在新问题中询问eventController