带参数化模板的dom-repeat

fso*_*fso 5 javascript polymer-2.x dom-repeat

使用Polymer 2.0,用什么干净的方法来设置dom重复项模板的参数?

用法:

<custom-component>
    <template id="item-template">
        [[item]]
    </template>
</custom-component>
Run Code Online (Sandbox Code Playgroud)

CustomComponent:

<dom-module id="custom-component">
    <template>
        <template is="dom-repeat" items="[[foo]]" id="repeater">
            <!-- Parameterized template -->
        </template>
    </template>
    <!-- scripts... -->
</dom-module>
Run Code Online (Sandbox Code Playgroud)

我找不到有关Polymer 2.0的清晰文档来实现此目的。

Jay*_*yly 0

我刚刚学习聚合物。也许我只是你的问题。我想你想重复一个具有结构和数据的元素取决于你需要它。还有3点。

演示元素.html

<dom-moudle is="demo-element">
  <template>
    <span>{{property1.name}}</span>
    <span>{{property1.age}}</span>
    <script>
      class DemoElement extends Polymer.Element {
        static get is() { return 'demo-element'; }
        static get properties() {
          return {
            property1: Object
          }
        }
      }
      window.customElements.define(DemoElement.is, DemoElement);
    </script>
  </template>
</dom-moudle>
Run Code Online (Sandbox Code Playgroud)

自定义组件.html

<dom-module id="custom-component">
  <template>
    <template is="dom-repeat" items="[[foo]]" id="repeater">
        <demo-element property1="[[item]]"></demo-element>
    </template>
  </template>
</dom-module>
Run Code Online (Sandbox Code Playgroud)
  1. dom-repeat 的 item 属性将在每个实例的绑定范围上设置,因此您不能在custom-component's实例中设置 dom-repeat 的 item 属性。

  2. 根据需要创建具有结构和数据的自定义元素。使用 重复自定义元素dom-repeat

  3. slot元素总是适合 Polymer。如果您需要custom-component包含一些其他元素,您应该使用占位符。