Получить индекс в шаблоне повторения шаблона дротика
Я хочу перебрать перечислимый и отобразить счетчик
<div template repeat="{{ name in names }}">
###. {{name}}
</div>
Что я должен поставить вместо ###
, чтобы он отображал позицию имени:
1. John Doe
2. Jane Doe
3. etc...
Ответы
Ответ 1
Теперь у Polymer есть возможность сделать это:
<template repeat="{{fruit in fruits | enumerate}}">
<li>You should try the {{fruit.value}}. It is number {{fruit.index}}.</li>
</template>
Пример, взятый из https://github.com/sethladd/dart-polymer-dart-examples/blob/master/web/iterate_loop_index/my_example.html
Ответ 2
Другие решения не работают для меня в Polymer 0.3.4 (больше?), но есть документация по шаблонам, включая индексирование при циклировании по коллекции:
<template repeat="{{ foo, i in foos }}">
<template repeat="{{ value, j in foo }}">
{{ i }}:{{ j }}. {{ value }}
</template>
</template>
Ответ 3
Он был доступен в web_ui, но еще не доступен в Polymer.
Веб-интерфейс является предшественником полимера. dart. Polymer.dart находится почти на уровне четности с веб-интерфейсом. Ниже приведен список функций веб-интерфейса, которые еще не реализованы в файле polymer.dart:
Значение переменной индекса, доступное внутри циклов
https://www.dartlang.org/polymer-dart/#web-ui-parity
До тех пор вы можете использовать asMap
в списке и перебрать по keys
:
<template repeat="{{i in names.asMap().keys)}}">
<div>{{i}}: {{names[i]}}</div>
</template>
Ответ 4
Пока недоступно, но вы можете использовать пакет колчанов, как показано в этом SO-ответе:
fooobar.com/info/490865/...