【发布时间】:2015-06-23 19:55:54
【问题描述】:
我正在将 Sample Polymer Tutorial App 转换为 Dart.Polymer。应用教程在这里 [https://www.polymer-project.org/0.5/docs/start/tutorial/intro.html]
我面临的问题是纸张标签事件监听。 Polymer的js版本为:
<core-header-panel>
<core-toolbar>
<paper-tabs id="tabs" selected="all" self-end>
<paper-tab name="all">All</paper-tab>
<paper-tab name="favorites">Favorites</paper-tab>
</paper-tabs>
</core-toolbar>
<div class="container" layout vertical center>
<post-list show="all"></post-list>
</div>
</core-header-panel>
<script>
var tabs = document.querySelector('paper-tabs');
var list = document.querySelector('post-list');
tabs.addEventListener('core-select', function() {
list.show = tabs.selected;
});
</script>
这是索引文件。我的 Dart 版本如下所示:
<core-header-panel>
<core-toolbar>
<paper-tabs id="tabs" selected="all" self-end>
<paper-tab name="all">All</paper-tab>
<paper-tab name="favorites">Favorites</paper-tab>
</paper-tabs>
</core-toolbar>
<div class="container" layout vertical center>
<post-list show="all"></post-list>
</div>
</core-header-panel>
<script type="application/dart">export 'package:polymer/init.dart';</script>
如何收听 paper-tabs core-select 事件以在脚本标签下更新 Dart 中的标签内容?我试过了,但没有用。
var tabs = document.querySelector('paper-tabs');
var list = document.querySelector('post-list');
tabs.addEventListener('core-select', (e) {
list.show = tabs.selected;
});
【问题讨论】:
-
您可以尝试
tabs.on['core-select'].listen(...)(请参阅stackoverflow.com/questions/13897091),但我怀疑您遇到了与stackoverflow.com/questions/29629492 此处提到的相同的问题。如果您运行代码从main()查询 Polymer 元素,您需要确保 Polymer 已正确初始化。 -
这实际上是问题所在。我没有使用 main() 那么我在哪里编写该脚本?
标签: javascript events dart polymer dart-polymer