在使用Polymer(v1.0 +)开发我的个人网站时,通过修改PSK(Polymer Starter Kit)的副本,我在尝试使用selected
属性时遇到问题我的导航菜单的Polymer dom-repeat
模板,包含我的路线及其属性数组。
重复行为有效,路由工作,以及(大部分)数据按预期工作,但无法正确识别和/或显示选择,转换为未在视觉上“选择”的所选菜单项(没有花哨的选择效果)。
虽然我理解了一些HTML,CSS和JS,但我仍然是网络开发的新手,所以这可能是对我仍然缺少的数据绑定或JS的一些理解。
以下是问题:
为什么动态版本的代码不起作用?我该如何解决?
app.js:
(function (document) {
'use strict';
var app = document.querySelector('#app');
app.baseUrl = '/';
/*
* About 100 lines of unrelated "...", about 60 taken from PSK
*/
app.routeMap = [
{name: "home", text: "Home", icon: "home", url: app.baseUrl},
{name: "about", text: "About", icon: "face", url: app.baseUrl + "about"},
{name: "users", text: "Users", icon: "info", url: app.baseUrl + "users"},
{name: "contact", text: "Contact", icon: "mail", url: app.baseUrl + "contact"}
];
})(document);
有效的HTML:
<template is="dom-bind" id="app">
<!-- ... -->
<paper-tabs attr-for-selected="data-route" selected="[[route]]">
<paper-tab data-route="home">
<a href="{{baseUrl}}">
<iron-icon icon="home"></iron-icon>
<span>Home</span>
</a>
</paper-tab>
<paper-tab data-route="about">
<a href="{{baseUrl}}about">
<iron-icon icon="face"></iron-icon>
<span>About</span>
</a>
</paper-tab>
</paper-tabs>
</template>
不工作的HTML: (但我正在努力工作) < / p>
<template is="dom-bind" id="app">
<!-- ... -->
<paper-tabs attr-for-selected="data-route" selected="[[route]]">
<template is="dom-repeat" items="{{routeMap}}">
<paper-tab data-route="{{item.name}}">
<a href="{{item.url}}">
<iron-icon icon="{{item.icon}}"></iron-icon>
<span>{{item.text}}</span>
</a>
</paper-tab>
</template>
</paper-tabs>
</template>
答案 0 :(得分:1)
聚合物绑定到元素属性需要这样的记录data-route$=name of route