Vue.jsでループを入れ子にする方法が分からなかったので、実装方法をメモ。
サンプルコード
以下のようなデータで、teamsとその中のmembersでループしたいとします。
JavaScript
var app = new Vue({ el: '#list', data: { teams: [ { name: 'はるかな', members: [ { 'name': '大空 遥' }, { 'name': '比嘉 かなた' } ] }, { name: 'エクレア', members: [ { 'name': 'トーマス・紅愛' }, { 'name': 'トーマス・恵美理' } ] }, { name: 'なるあや', members: [ { 'name': '遠井 成美' }, { 'name': '立花 彩紗' } ] } ] } })
v-forを使って、以下のように入れ子にできるようです。
HTML
<div id="list"> <div v-for="team in teams"> {{ team.name }} <ul> <li v-for="member in team.members"> {{ member.name }} </li> </ul> </div> </div>
一つ目のループはv-for=”team in teams”のようにして、入れ子のループは先ほどのteamを使ってv-for=”member in team.members”のようにしてループしています。
ループを入れ子にするデモページ
コメントが承認されるまで時間がかかります。