Javascript 使子组件在Polymer 1.0.0中调用其父API

Javascript 使子组件在Polymer 1.0.0中调用其父API,javascript,polymer,Javascript,Polymer,我有两个用Polymer 1.0.0定义的web组件,我的问题是关于访问父公共API 聚合物({ 是‘x画廊’, ... getAll:function(){ 把这张照片还给我; } }); 聚合物({ 是‘x光照片’, 特性:{ 照片:对象 }, 就绪:函数(){ //这里--- //如何访问x-gallery.getAll公共方法? // ... } }); 从文件: “domHost”是 “其本地dom中包含此元素的元素” 通过这种方式,您可以访问“父级”及其功能。 在我看来,这不

我有两个用Polymer 1.0.0定义的web组件,我的问题是关于访问父公共API


聚合物({
是‘x画廊’,
...
getAll:function(){
把这张照片还给我;
}
});
聚合物({
是‘x光照片’,
特性:{
照片:对象
},
就绪:函数(){
//这里---
//如何访问x-gallery.getAll公共方法?
// ...
}
});
从文件:

“domHost”是

“其本地dom中包含此元素的元素”

通过这种方式,您可以访问“父级”及其功能。 在我看来,这不是聚合物框架的正确方法

在我的项目中,我只使用它来定义父对象的回调函数


(对不起,我的英语不好)

确认了..我两种方法都用过。父级显式设置子级的属性以指向父级,以及2。domHost。domHost是内置的,因此更简单、更好。
在方法1中,在设置属性之前,必须确保子级已准备就绪

一般来说,我会说,虽然从子对象调用父对象方法不是一种完全反模式,但使用事件向上发送信息,并且仅在父对象到子对象的关系中直接调用是一种更好的做法。在给出的示例中,您已经使用
dom repeat
x-photo
传递了照片,因此不需要向父级“回调”。绑定
photo=“{item}}”
将设置
x-photo
Polymer.dom(this.root).parentNode.getAll()
的photo属性,我认为应该可以工作。不过,我必须同意@MichaelBleigh。在子元素需要了解其同级元素的情况下,该知识是否应该由父元素分发?这样子元素就不需要推断任何关于他们所处环境的信息,只需要专注于做他们被告知要做的事情。还请解释为什么你的答案有效,以便帮助未来的读者。
ready: function() {
    this.domHost.getAll()
}