Я создаю полимерный элемент, который отображает список других полимерных элементов. Я хотел бы, чтобы потребитель элемента мог отбросить элемент списка на своей странице и предоставить шаблон, который будет использоваться в элементе элемента списка. Если они не предоставляют шаблон, я хочу использовать шаблон по умолчанию.
Я попытался сделать это, привязавшись к атрибуту 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>