【问题标题】:Polymer dom repeat without an array没有数组的聚合物 dom 重复
【发布时间】:2016-06-29 07:33:03
【问题描述】:

我可以在没有数组的情况下使用聚合物 dom-repeat 模板吗?
例如我想渲染一些代码 20 次。

   <template is="dom-repeat" items="[[itemCounter]]">
      <div>Whatever</div>
   </template>

这将渲染&lt;div&gt;Whatever&lt;/div&gt; 20 次,但为了实现这一点,我必须在组件属性中创建一个长度为 20 的数组“itemCounter”,其唯一目的是循环它。

我想知道这样的事情是否可能,所以我不需要创建数组。

   <template is="dom-repeat" times="20">
      <div>Whatever</div>
   </template>

【问题讨论】:

    标签: polymer polymer-1.0


    【解决方案1】:

    不,你不能用普通的dom-repeat 做到这一点,但我写了一个组件,它完全可以做到这一点:https://github.com/MeTaNoV/dom-repeat-n

    您可以在此处找到 Polymer github 存储库中有关此功能的讨论:https://github.com/Polymer/polymer/issues/3313

    【讨论】:

    • Thnx Pascal,我有点怀疑 dom-repeat 没有提供这个选项,我会看看你的组件。
    【解决方案2】:

    你可以做这样的乱七八糟的黑客攻击

    属性:

    totalNo: {
      type: Number,
      value: 20
    },
    _arrayContainer: {
      type: Array ,
      value: [],
      computed: '_numberToArray(totalNo)'
    }
    

    方法:

    _numberToArray: function(totalNo) {
      var array = [], i;
      for (i = 0; i < totalNo; ++i) {
        array.push(i);
      };
      return array;
    },
    

    HTML:

    <template is="dom-repeat" items="[[_arrayContainer]]">
      <div>Whatever</div>
    </template>
    

    但我不确定你是否真的想要。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-14
      相关资源
      最近更新 更多