1
我正在創建顯示其他聚合物元素列表的聚合物元素。我希望元素的使用者能夠將列表元素放在其頁面上,並提供要在列表項元素中使用的模板。如果他們不提供模板,我想使用默認模板。允許聚合物元素的消費者提供模板
我試圖通過綁定到模板的ref屬性來實現此目的。這似乎工作,如果我提供自定義模板,但如果我不提供它。
非工作示例:http://jsbin.com/futiti/7/edit?html,output
列表項元素:
<polymer-element name="my-item" attributes="item itemTemplate">
<template>
<template bind="{{item}}" ref="{{itemTemplate}}">
</template>
<template id="_itemTemplate">
<li>Default template: {{name}}</li>
</template>
</template>
<script>
Polymer({
itemTemplate: '_itemTemplate',
created: function() {
this.item = {};
}
});
</script>
</polymer-element>
列表元素:
<polymer-element name="my-list" attributes="drag name list itemTemplate">
<template>
<template repeat="{{i in list}}">
<my-item item="{{i}}" itemTemplate="{{itemTemplate}}"></my-item>
</template>
</template>
<script>
Polymer({
ready: function() {
this.list = [{name: 'Item 1', id: 'item1'},
{name: 'Item 2', id: 'item2'},
{name: 'Item 3', id: 'item3'}];
}
});
</script>
</polymer-element>
除了這似乎當模板在同一文件中被定義爲只工作。 – jupe 2014-09-30 23:56:58