Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何调用直接父元素函数 请考虑以下例子:_Javascript_Polymer - Fatal编程技术网

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