Я пытаюсь запустить пользовательское событие от дочернего элемента к его родительскому объекту, но не работает с использованием объекта listeners. он работает с использованием аннотированных событий, но это неприменимо в большинстве ситуаций. Как я могу использовать объект-слушатели в этом случае. Вот код, чтобы проиллюстрировать эту проблему:Политические пользовательские события, запущенные дочерним элементом, не пойманным родительским элементом
<!--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>
Заранее спасибо за вашу помощь.
спасибо за тонну esp за ссылку на d docs. Тем не менее в отношении событий я попытался запустить событие сигнала железа из main.js, например, var event = new CustomEvent ('iron-signal', {'detail': {name: 'action', data: "foo" }}); document.dispatchEvent (событие); , в то время как другой элемент прослушивался с использованием сигналов железа, но результатов не было. Как я могу это сделать, и есть ли какие-нибудь хорошие книги на полимере, которые вы можете порекомендовать, потому что мне нужно создать прочный фундамент с пониманием основ создания приложений с помощью полимера. – jobie
Как вы настроили свои '' и более конкретно, как вы пытались прослушать событие 'action'? Я не знаю о книгах, но я считаю, что чтение [Исходный код компонентов Polymer на GitHub] (https://github.com/PolymerElements) учит вас многому. –