今回の記事は、
- これからVue.jsを始めてみたい
- Vue.jsで繰り返し処理を実装してみたい
という方に向けた記事になっています。
なお、Vue.jsの概要や特徴については以下の記事にて詳しく解説していますので、こちらもぜひご覧ください。
今回の記事は、 最近よく聞くけど、Vue.jsってなに?これからVue.jsを始めてみたいVue.jsの特徴やメリットが知りたい というお悩みをお持ちの方に向けた記事になっています。 ReactやAngular、そしてV[…]
フリーランス案件を探すならこのエージェント!
転職を考えているならこのエージェント!
Vue.jsで繰り返し処理を実装する方法
Vue.jsで条件分岐を実装するには、v-forディレクティブを使用します。
基本的な使い方としては、以下の通り、繰り返し表示したいタグに対してv-forディレクティブを設定します。
(※下記の例では、liタグを繰り返し表示するよう実装しています。)
基本的な使い方
<ul>
<li v-for="変数 in 配列/オブジェクト">
</li>
</ul>
それでは実際に簡単な事例を見ながらその挙動を確認していきましょう。
実装コード
<div id="app1">
<ul>
<li v-for="language in languages" :key="language.id">
{{ language.name }}
</li>
</ul>
</div>
<script>
let app1 = new Vue({
el: "#app1",
data: {
language: [
{ id: 1, name: "Ruby" },
{ id: 2, name: "Java" },
{ id: 3, name: "PHP" },
{ id: 4, name: "Javascript" },
{ id: 5, name: "HTML" }
]
}
})
</script>
動作確認用
- {{ language.name }}
上記の例では、dataプロパティにlanguages
という配列を設定し、v-for
ディレクティブを使用してその中身を繰り返し表示しています。
なお、v-for
ディレクティブ以外にkey属性も登場していますが、これは繰り返し表示されている各ノードの識別情報をVue.js側が追跡するために必要な属性になります。
このkey
属性は必ずしも必要というわけでは無いのですが、配列への要素の追加/削除や並び替えがあった際にVue.jsが識別しやすくするための機能ですので、基本的には設定するようにしましょう。
(※Vue.jsの公式サイトでもkey属性の付与は推奨されています。)
また、v-for
の後に変数を追加することで、配列のインデックスを取得することも可能です。
実装コード
<div id="app2">
<ul>
<li v-for="(language, index) in languages" :key="language.id">
{{ index }}: {{ language.name }}
</li>
</ul>
</div>
<script>
let app2 = new Vue({
el: "#app2",
data: {
language: [
{ id: 1, name: "Ruby" },
{ id: 2, name: "Java" },
{ id: 3, name: "PHP" },
{ id: 4, name: "Javascript" },
{ id: 5, name: "HTML" }
]
}
})
</script>
動作確認用
- {{ index }}: {{ language.name }}
最後に
さて、ここまでVue.jsのv-forディレクティブを使った繰り返し処理の実装方法をご紹介してきましたがいかがでしたか?
先日ご紹介したv-ifディレクティブと並んで最も頻繁に登場するディレクティブの一つですので、ぜひこの機会にマスターしておいてくださいね。
このブログを通じて少しでも「傍(はた)を楽(らく)にする」ことができていれば嬉しく思います。
最後まで読んで頂きありがとうございました。