Vue Js-v-for X回ループ(範囲内)


107

ループをv-forX(例:10)回繰り返すにはどうすればよいですか?

// want to repeat this (e.g.) 10 times

<ul>
  <li v-for="item in shoppingItems">
    {{ item.name }} - {{ item.price }}
  </li>
</ul>

ドキュメントは示しています:

<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>

しかし、vueはどこからオブジェクトのソースを知っていますか?ドキュメントのようにレンダリングすると、アイテム数とアイテム数が表示されますが、コンテンツは表示されません。


残念ながらそれはうまく
いき

なぜshoppingItemsを反復しないのですか?
Bert

1
Hy Bert-私はv-for(最も簡単な方法)に(x)の繰り返し数を与える方法を知りたいだけで、ドキュメント内の例が機能しません...... ....純粋なjs + ajaxその非常に単純な戻り<9 or or or、しかしこれはメソッドでは機能しません...
MikeCaine

には2つの異なるモードがありv-forます。整数に対して呼び出されたとき、および配列に対して呼び出されたとき。これらのモードを混在させ、整数を使用して配列のコンテンツへのアクセスを制御しようとすると、問題が発生する可能性があります。配列のサブセットが必要な場合は、それをフィルタリングできます。
Jason Aller 2018年

回答:


171

範囲内のインデックスを使用して、そのインデックスを介して配列にアクセスできます。

<ul>
  <li v-for="index in 10" :key="index">
    {{ shoppingItems[index].name }} - {{ shoppingItems[index].price }}
  </li>
</ul>

詳細については、公式ドキュメントを確認することもできます。


2
動作します::)少し変更しました<li v-for = "(n、index)in 2"> {{shoppingItems.price}} </ li> ==== MNY THXXXX Coder ***** !====
MikeCaine 2017年

その10を変数にする方法?、コンポーネントのデータを形成する?
アルバロ

5
これが1インデックスである理由は完全に私を超えています。<span v-for="i in 5">{{i}} </span>=> 1 2 3 4 5<span v-for="(e, i) in 5">{{i}} </span>0インデックスを取得するために使用します。
ggorlen

配列全体を反復処理するにはshoppingItems [index -1] .nameと記述する必要があることに気づきました
peschanko

23

私はそのようなDov Benjaminの助けを借りてそれを解決しました:

<ul>
  <li v-for="(n,index) in 2">{{ object.price }}</li>
</ul>

そして別の方法、vue.jsのV1.xと2.xの両方

Vue 1:

<p v-for="item in items | limitBy 10">{{ item }}</p>

Vue2:

// Via slice method in computed prop

<p v-for="item in filteredItems">{{ item }}</p>

computed: {
   filteredItems: function () {
     return this.items.slice(0, 10)
     }
  }

14

parseInt()v-forが数字を見ていたことを伝えるために追加する必要がありました。

<li v-for="n in parseInt(count)" :key="n">{{n}}</li>




1

2.2.0以降では、コンポーネントでv-forを使用するときに、キー必要になります。

<div v-for="item in items" :key="item.id">

ソース

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.