我有这个自动绑定模板:
<template class="event-listener" is="dom-bind">
<iron-pages attr-for-selected="data-route" selected="{{route}}">
<section data-route="one">
</section>
<section data-route="two"></section>
</iron-pages>
</template>
我可以在javascript中设置route的值,例如:
var app = document.querySelector(".event-listener");
app.route = "one";
如果route
的值发生变化,如何添加侦听器?
答案 0 :(得分:0)
添加侦听器以检测对route
的更改几乎肯定意味着您应该创建一个常规的Polymer元素,而不是使用dom-bind
样式元素。
举例来说,您可以将以下内容添加到head
:
<dom-module is='my-el'>
<script>
Polymer({
is: 'my-el',
properties: {
route: {
type: String,
observer: 'routeChanged'
}
},
routeChanged: function() {
// change fires here
}
});
</script>
<template>
<iron-pages attr-for-selected="data-route" selected="{{route}}">
<section data-route="one">
</section>
<section data-route="two"></section>
</iron-pages>
</template>
</dom-module>
body
中的某个地方:
<my-el></my-el>
<script>
document.querySelector('my-el').route = "one";
</script>