【发布时间】:2020-02-17 13:01:04
【问题描述】:
我正在尝试创建一个可重复使用的列表,该列表将其行模板作为插槽传递,但插槽内容仅重复一次。此处示例:https://codepen.io/chris-gunawardena/project/editor/XkPYQw
<script src="https://polygit.org/components/webcomponentsjs/webcomponents-lite.js"></script>
<link rel="import" href="https://polygit.org/components/paper-button/paper-button.html">
<dom-module id="list-repeater">
<template>
<template is="dom-repeat" items="{{items}}" as="item">
<li>
# [[index]]: [[item]] <slot name="row-template"></slot>
</li>
</template>
</template>
<script>
class ListRepeater extends Polymer.Element {
static get is() {
return 'list-repeater';
}
static get properties() {
return {
items: Array,
};
}
}
customElements.define(ListRepeater.is, ListRepeater);
</script>
</dom-module>
这样使用:
<list-repeater items='["a","b"]'>
<div slot="row-template">--slot content--</div>
</list-repeater>
该功能类似于 Iron-list,它接受一个模板,但很难跟踪 Iron-list 正在做什么。
【问题讨论】:
-
Polymer.Templatizer : t-code.pl/blog/2015/08/polymer-templatizer
标签: javascript web-component polymer-2.x