聚合物 - dom-repeat的起始索引

时间:2016-05-10 11:29:56

标签: javascript polymer

我正在使用Polymer的ul显示两个数组 - 一个接一个作为无序列表(dom-repeat):

<ul>
  <template is="dom-repeat" items="{{array1}}" index-as="position_id">
    <li on-tap="select1" class$="{{_selectedStyle(selectedId, position_id)}}">
      {{item.fileName}}
    </li>
  </template>
  <template is="dom-repeat" items="{{array2}}" index-as="position_id">
    <li on-tap="select2" class$="{{_selectedStyle(selectedId, position_id}}">
      {{item.fileName}}
    </li>
  </template>
</ul>
...
_selectedStyle: function (selectedPosId, posId) {
  if (selectedPosId && posId){
    return (selectedPosId === posId) ? "selected" : "";
  }
}

我想在所选项目上应用类,但显然它无法正常工作,因为dom-repeat模板selectedIdposition_id都是相同的(都从0开始)。理想情况下,在第二个dom-repeat模板上有偏移量,但似乎不支持此功能。在这种情况下,最好的解决方法是什么?

1 个答案:

答案 0 :(得分:2)

也可以传递偏移量(array1的长度)并将其添加到_selectedStyle()中(请参阅下面的评论):

<li on-tap="select2" class$="{{_selectedStyle(selectedId, position_id, array1.length}}">
  {{item.fileName}}
</li>