将来自此处https://www.polymer-project.org/articles/communication.html#events
的不完整的示例放在一起我试图让addEventListener处理不同的组件或dom元素。 如果我将侦听器放在提交组件上它将起作用,但是如果我将它放在dom元素上则没有任何反应。 将侦听器放在发送元素上似乎是多余的。
我查看了数据绑定,但我想传递更多数据,实际上只是想构建一个工作小的演示位库,我可以在需要不同方法时参考。
谢谢。
<body unresolved id="body">
<polymer-element name="say-hello" attributes="name" on-click="{{sayHi}}">
<template>Hello {{name}}!</template>
<script>
Polymer('say-hello', {
sayHi: function() {
console.log("sklngh");
this.fire('said-hello', {name: this.name});
}
});
</script>
</polymer-element>
<say-hello></say-hello>
<div id="container">zzz</div>
<script>
var container = document.querySelector('#container');
// var container = document.querySelector('say-hello');
container.addEventListener('said-hello', function(e) {
alert('outside: Said hi to ' + e.detail.name + ' from ' + e.target.localName);
});
</script>
</body>
修改
啊它泡泡!需要包装组件。
<div id="container">
<say-hello></say-hello>
</div>
答案 0 :(得分:0)
见上面的编辑。这似乎就是答案。咔嚓。
答案 1 :(得分:0)
要从host元素触发自定义事件,请使用fire方法。您还可以将数据作为参数传递给事件处理程序。
使用此链接: https://www.polymer-project.org/1.0/docs/devguide/events