Javascript 使用数据绑定的聚合物核心支架更改工具
我在我的网站上使用,更具体地说是 下面是我制作的一些示例代码:Javascript 使用数据绑定的聚合物核心支架更改工具,javascript,data-binding,polymer,Javascript,Data Binding,Polymer,我在我的网站上使用,更具体地说是 下面是我制作的一些示例代码: <core-scaffold> <core-header-panel navigation flex mode="seamed"> <core-toolbar>Application</core-toolbar> <core-menu theme="core-light-theme"> <core-item icon="settings
<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>
应用
标题
内容在这里。。。
var menuItems=document.querySelector(“核心菜单”);
menuItems.addEventListener(“核心选择”,函数(){
console.log(menuItems.selected);
});
我想要的是,从核心菜单
中单击一个核心项
,则标题
内容会相应更改。我已经能够将事件侦听器附加到按钮的选择中,但我不太知道如何使工具保持最新。聚合物有一个双向的,我还没有完全掌握
那么,用按下的菜单项标签更新
工具-div的最明智的方法是什么呢?您可以通过双向数据绑定轻松实现这一点。你可以绑在上面。要获得数据绑定,您可以手动设置绑定模板,但您可能只想将应用程序本身作为一个组件。像这样:
<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>
应用
{{item.label}
内容在这里。。。
聚合物(“my-app”{
});
是否有一种方法可以在不需要创建单独的'my-app'
-元素的情况下完成此操作?是的,有两种方法,最简单的方法是使用自动绑定模板:。也就是说,我鼓励您编写自己的元素,因为它为您提供了一个方便的地方来声明函数、过滤器和计算属性、保持封装状态,并使您能够以新的可重用方式使用站点的组件!问题是它是我的主页,核心支架
是包含我所有数据的主要元素,因此这样做需要我将大部分(如果不是全部)代码写入核心支架
的模板中。。。我尝试了您的示例,它是有效的,但是我找不到一种方法来绑定核心菜单上的eventListeners
。Polymer可以(为您处理绑定事件)[,或者您可以将代码放入(domReady
)[并使用($.id)[.如果你有一个更具体的问题,只要问一下,我会查看网站上几乎每个标记为Polymer的问题:)我刚刚创建了一个单独的Polymer元素,正如你第一次建议的那样,这并不难实现,现在我的其余代码也有了更好的结构。因此,不需要新的jsbin,谢谢!