我在我的网站上使用Polymer,更具体地说是Core-Scaffold。
这是我制作的一些示例代码:
<core-scaffold>
<core-header-panel navigation flex mode="seamed">
<core-toolbar>Application</core-toolbar>
<core-menu theme="core-light-theme">
<core-item icon="settings" label="item1"></core-item>
<core-item icon="settings" label="item2"></core-item>
</core-menu>
</core-header-panel>
<div tool>Title</div>
<div>Content goes here...</div>
</core-scaffold>
<script>
var menuItems = document.querySelector("core-menu");
menuItems.addEventListener("core-select", function(){
console.log(menuItems.selected);
});
</script>
我想要的是,点击core-item
中的core-menu
之一后,<div tool>Title</div>
内容会相应更改。我已经能够将事件监听器附加到按钮的选择上,但我不知道如何使该工具保持最新状态。 Polymer有一个双向data binding,我还没有完全掌握它。
那么,使用按下的菜单项标签更新tool
- div的最佳建议方法是什么?
答案 0 :(得分:3)
您可以使用双向数据绑定轻松完成此操作。您可以绑定的<core-menu>
exposes a selectedItem
attribute。要获取数据绑定,您可以手动设置绑定模板,但您可能只想让您的应用程序本身成为一个组件。像这样:
<my-app></my-app>
<polymer-element name='my-app'>
<template>
<core-scaffold>
<core-header-panel navigation flex mode="seamed">
<core-toolbar>Application</core-toolbar>
<core-menu theme="core-light-theme" selectedItem='{{item}}'>
<core-item icon="settings" label="item1"></core-item>
<core-item icon="settings" label="item2"></core-item>
</core-menu>
</core-header-panel>
<div tool>{{item.label}}</div>
<div>Content goes here...</div>
</core-scaffold>
</template>
<script>
Polymer('my-app', {
});
</script>
</polymer-element>