首先,我很喜歡聚合物。我不擅長JavaScript,並且我沒有完全理解所有正在發生的影子DOM內容。但我認爲Polymer正在爲像我這樣的人開發(非全職編碼人員需要快速構建網站並通過將簡單的部分組合在一起編程)。這很有趣,而且一旦我明白它的內容是如何運作的,那真的很可愛。聚合物子菜單/頁面導航需要腳本嗎?
我最近嘗試構建網站/應用涉及到很多連接到核心頁面的菜單和子菜單項。我喜歡這樣的想法,即我可以在覈心頁面中將菜單項ID與div id連接起來並完成這項工作。而當我用菜單項和手工編碼的ID來完成時,它完美地工作。但是,當我添加核心子菜單和模板重複生成的項目和頁面與匹配的ID,出於某種原因,可能是明顯的其他人,它不。
我的問題:子菜單/頁面是否需要腳本,或者我的聚合物標籤是否有問題?如果需要編寫腳本,我很樂意爲初學者提供一些資源指針。我看了一下spa.html演示,但它不包含子菜單。有小費嗎?
現在,我的代碼的核心是這樣的:http://jsbin.com/xuzezelumeje/1/edit
<script src="http://www.polymer-project.org/platform.js"></script>
<link rel="import" href="http://www.polymer-project.org/components/core-scaffold/core-scaffold.html">
<link rel="import" href="http://www.polymer-project.org/components/core-header-panel/core-header-panel.html">
<link rel="import" href="http://www.polymer-project.org/components/core-menu/core-menu.html">
<link rel="import" href="http://www.polymer-project.org/components/core-menu/core-submenu.html">
<link rel="import" href="http://www.polymer-project.org/components/core-item/core-item.html">
<link rel="import" href="http://www.polymer-project.org/components/core-pages/core-pages.html">
<polymer-element name="my-app">
<template>
<core-scaffold>
<core-header-panel navigation flex mode="seamed">
<core-toolbar></core-toolbar>
<core-menu selected="{{selected}}" valueattr="id" theme="core-light-theme">
<template repeat="{{item in items}}">
<core-submenu icon="visibility" label="{{item.year}}">
<template repeat="{{office in item.offices}}">
<core-item id="{{office}} {{item.year}}" label="{{office}}"></core-item>
</template>
</core-submenu>
</template>
</core-menu>
</core-header-panel>
<div tool>DC Campaign Finance Watch</div>
<core-pages selected="{{selected}}" valueattr="id">
<template repeat="{{item in items}}">
<template repeat="{{office in item.offices}}">
<div id="{{office}} {{item.year}}">{{item.year}} {{office}}</div>
</template>
</template>
</core-pages>
</template>
<script>
Polymer({
ready: function() {
this.items = [
{
"offices": [
"Mayor",
"Council Chairman",
"Council At-Large",
"etc"
],
"year": "2014"
},
{
"offices": [
"Council At-Large"
],
"year": "2013"
},
{
"offices": [
"Council Chairman",
"Council At-Large",
"etc"
],
"year": "2012"
},
{
"offices": [
"Council At-Large",
"School Board Ward 4",
"School Board Ward 8"
],
"year": "2011"
},
{
"offices": [
"Mayor",
"Council Chairman",
"etc"
],
"year": "2010"
}
];
}
});
</script>
</polymer-element>
<my-app></my-app>
哇 - 感謝你全面的回答和功能碼!現在我可以看到爲什麼過濾器在其他人的代碼中比我的更常見。我也看到了on-core-select是如何工作的,這非常好。我擔心我必須熟練掌握熨斗的所有細節,但是您提供的js是令人放心的簡單。非常感謝! – Don 2014-10-03 00:17:45