v-for(forループ)のサンプルコード

vue
スポンサーリンク

いわゆるループ文、Vue.js版v-forの使い方のサンプルコードです。

v-forのサンプルコードの概要

食べ物の名前とその色のデータを配列に入れ、順番に表示させるサンプルコードを書いてみます。

実際のサンプルはこちら

サンプルコード

<template>
    <div class="v-for-component">
        <ul class="foods">
            <p>食べ物のリスト</p>
            <li v-for="food in foods" :key="food.name">
                名前:{{food.name}} 色:{{food.color}}
            </li>
        </ul>
    </div>
</template>

<script>
export default {
    data(){
        return{
            foods: [
                {name: "banana",color:"yellow"},
                {name: "apple",color:"red"},
                {name: "peach",color:"pink"},
            ],

        }
    }
}
</script>

<style scoped>

</style>

解説

    data(){
        return{
            foods: [
                {name: "banana",color:"yellow"},
                {name: "apple",color:"red"},
                {name: "peach",color:"pink"},
            ],
        }

まずはデータの形を見てみましょう。

foodsと言う配列を作っています。

その中に{name: “banana”,color:”yellow”}といったようにデータを入れています。

あとはこのデータをどうやって順番に表示させるかです。

            <li v-for="food in foods" :key="food.name">
                名前:{{food.name}} 色:{{food.color}}
            </li>

ポイントはもちろんv-forです。

v-for=””の中には、表示したい配列を入れるわけですが、その際に

“〇〇 in 配列”

とします。〇〇の名前は配列をループする際に使います。

今回なら、配列名がfoodsです。そして展開する個別の変数名をfoodとしています。

そのため

v-for="food in foods"

となります。

:key="food.name"

は名前の通りキーです。ヒントを与えることで例えば配列を並び替えてもエラーをしないようにしています。

名前:{{food.name}} 色:{{food.color}}

あとはこのように個々のデータを表示させればオッケーです。

もし不明な点があれば公式ドキュメントを参照ください。

コメント

タイトルとURLをコピーしました