聚合物-dom重复的起始指数

Polymer - start index for dom-repeat

本文关键字:指数 -dom 聚合物      更新时间:2023-09-26

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

<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重复模板selectedIdposition_id是相同的(都从0开始)。理想情况下是在第二个dom重复模板上有偏移量,但似乎不支持此功能。在这种情况下,最好的解决方法是什么?

只需传递偏移量(array1的长度)并将其添加到_selectedStyle()中(请参阅下面的注释):

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