2013-10-17 7 views

Antwort

17

Polymer jetzt hat die Fähigkeit, dies zu tun:

<template repeat="{{fruit in fruits | enumerate}}"> 
    <li>You should try the {{fruit.value}}. It is number {{fruit.index}}.</li> 
</template> 

Beispiel aus https://github.com/sethladd/dart-polymer-dart-examples/blob/master/web/iterate_loop_index/my_example.html

+0

Dies funktioniert nicht mehr in Polymer 0.5. Verwenden Sie stattdessen Wolfram's Lösung. Ich weiß, dass dies vor 2 Jahren beantwortet wird, aber lassen Sie mich es für Leute bemerken, die von der Suche ankamen. –

+0

Dies ist immer noch der Weg in Polymer 0.5. Vielleicht meintest du 1.0? – pjv

2

Sie war in web_ui verfügbar, ist aber in Polymer noch nicht verfügbar.

Web-UI ist der Vorläufer von polymer.dart. Polymer.dart ist fast mit Feature-Parität mit Web-UI. Im Folgenden finden Sie eine Liste von Web-UI-Funktionen, die noch nicht in polymer.dart umgesetzt:

Wert der Indexvariablen innerhalb von Schleifen verfügbar

https://www.dartlang.org/polymer-dart/#web-ui-parity

Bis dahin Sie kann asMap in der Liste verwenden und iterieren über keys:

<template repeat="{{i in names.asMap().keys)}}"> 
    <div>{{i}}: {{names[i]}}</div> 
    </template> 
+1

Sie müssen noch nicht einmal für die Namen umschreiben. {{index in names.asMap.keys}} –

+0

@AlanKnight Sehr cool, danke für den Tipp. Ich habe meine Antwort aktualisiert, um Ihren Vorschlag zu verwenden. – Nathanial

0

noch nicht verfügbar, aber Sie können die Köcher Paket verwenden als Antwort in diesem SO demonstriert:

https://stackoverflow.com/a/18165968/1713985

+0

Sie wären wahrscheinlich besser dran, wenn Sie einen Polymer-Ausdruck global erstellen würden. – Nathanial

+0

Das passiert in der Antwort. Polymer-Ausdruck hieß früher fancysyntax :) – bbs

7

Die anderen Lösungen funktionieren nicht für mich in Polymer 0.3.4 (mehr?), Aber es gibt documentation on templates, einschließlich in Dexing, während über eine Sammlung Looping:

<template repeat="{{ foo, i in foos }}"> 
    <template repeat="{{ value, j in foo }}"> 
    {{ i }}:{{ j }}. {{ value }} 
    </template> 
</template>