Polymer 父元素未捕获子元素激发的自定义事件
我试图从一个子元素向其父元素触发一个自定义事件,但它不能使用listeners对象。它使用带注释的事件工作,但这不适用于大多数情况。在这种情况下,如何使用listeners对象。下面是一些代码来说明这个问题:Polymer 父元素未捕获子元素激发的自定义事件,polymer,custom-events,Polymer,Custom Events,我试图从一个子元素向其父元素触发一个自定义事件,但它不能使用listeners对象。它使用带注释的事件工作,但这不适用于大多数情况。在这种情况下,如何使用listeners对象。下面是一些代码来说明这个问题: <!--in child element's dom..--> <dom-module id="searchresult-controller"> <template> <style>
<!--in child element's dom..-->
<dom-module id="searchresult-controller">
<template>
<style>
...
</style>
</template>
<script type="text/javascript">
Polymer({
is: "searchresult-controller",
ready: function(){
this.sendSignal();
},
sendSignal: function() {
this.fire('msg', {data: 'i love polymer'});
}
});
</script>
</dom-module>
<!-- in parent -->
<dom-module id="search-controllers">
<template>
<style>
...
</style>
<searchresult-controller></searchresult-controller>
<result-view></result-view>
</template>
<script type="text/javascript">
Polymer({
is: "search-controllers",
listeners: {
'msg': '_showAlert'
},
_showAlert: function(e) {
console.log(e.detail.data);
}
});
</script>
...
聚合物({
是:“搜索结果控制器”,
就绪:函数(){
这是sendSignal();
},
sendSignal:function(){
this.fire('msg',{data:'i love polymer'});
}
});
...
聚合物({
is:“搜索控制器”,
听众:{
“msg”:“显示警报”
},
_showAlert:功能(e){
console.log(如detail.data);
}
});
提前感谢您的帮助。您是否可以尝试从所附的
上的搜索结果控制器启动事件,并且未准备好
ready
对于search controllers
来说可能太早,因为在listeners
对象中设置的侦听器是在附加的
生命周期事件期间设置的
我的猜测是searchresult controller
的ready
事件发生在searchcontroller
的附加的事件之前。感谢大量esp对d文档的引用。关于事件,我尝试从main.js启动一个iron信号事件,比如var event=new CustomEvent('iron-signal',{'detail':{name:'action',data:'foo});文件、调度事件(事件);而另一个元素用铁信号听,但没有结果。我怎样才能做到这一点,还有什么好的书在聚合物上,你可以推荐吗?因为我需要建立一个坚实的基础,了解与聚合物感谢构建应用程序的基础。你是如何设置你的<代码> <代码>,更具体地说,你是如何尝试听<代码>动作< /代码>事件的?我对书不了解,但我发现读书能教你很多东西。