Wie kann ich eine Schleife über v-for
X (zB 10) Mal wiederholen ?
// want to repeat this (e.g.) 10 times
<ul>
<li v-for="item in shoppingItems">
{{ item.name }} - {{ item.price }}
</li>
</ul>
Die Dokumentation zeigt:
<ul>
<li v-for="item in 10">{{ item }}</li>
</ul>
// or
<li v-for="n in 10">{{ n }} </li>
// this doesn't work
<li v-for="item in 10">{{ item.price }}</li>
aber woher kennt vue die quelle der objekte? Wenn ich es wie im Dokument angegeben rendere, erhalte ich die Anzahl der Elemente und Elemente, jedoch ohne Inhalt.
javascript
vue.js
vuejs2
v-for
MikeCaine
quelle
quelle
v-for
; wenn es gegen eine ganze Zahl aufgerufen wird und wenn es gegen ein Array aufgerufen wird. Das Mischen dieser Modi und der Versuch, eine Ganzzahl zu verwenden, um den Zugriff auf den Inhalt eines Arrays zu steuern, kann Probleme verursachen. Wenn Sie eine Teilmenge des Arrays benötigen, können Sie diese filtern.Antworten:
Sie können einen Index in einem Bereich verwenden und dann über seinen Index auf das Array zugreifen:
Weitere Informationen finden Sie auch in der offiziellen Dokumentation .
quelle
<span v-for="i in 5">{{i}} </span>
=>1 2 3 4 5
. Verwenden Sie<span v-for="(e, i) in 5">{{i}} </span>
diese Option , um eine 0-Indizierung zu erhalten.Ich habe es mit Dov Benjamins Hilfe so gelöst:
Und eine andere Methode für V1.x und 2.x von vue.js.
quelle
Ich musste hinzufügen
parseInt()
, um v-for zu sagen, dass es sich um eine Nummer handelte.<li v-for="n in parseInt(count)" :key="n">{{n}}</li>
quelle
Sie können die native JS-Slice-Methode verwenden:
<div v-for="item in shoppingItems.slice(0,10)">
Basierend auf dem Tipp im Migrationshandbuch: https://vuejs.org/v2/guide/migration.html#Replacing-the-limitBy-Filter
quelle
Gleiches gilt für v-for in range :
<li v-for="n in 20 " :key="n">{{n}}</li>
quelle
In 2.2.0+ ist jetzt bei Verwendung von v-for mit einer Komponente ein Schlüssel erforderlich .
Quelle
quelle