下記階層の連想配列があり、ratingsをループし、user連想配列のnameを取得しようとしています。
vue.js
1 product: { 2 ratings: [ 3 { 4 user_id: 1, 5 product_id: 1, 6 rating: 4, 7 comment_title: "コメントタイトル", 8 comment_description: "コメント説明", 9 created_at: "2021-02-11", 10 user: { 11 id: 1, 12 name: "テスト太郎", 13 }, 14 }, 15 ], 16 },
テンプレートで、rating.user.nameとアクセスするとエラーが出てしまいます。
product.ratings[0].user.nameだと取得できるが、
product.ratings[index].user.nameだと取得できない挙動も理解できていません。
index自体をマスタッシュ展開すると、0から順に表示できるので値自体は取れているようです。
vue.js
1 <v-container v-for="(rating, index) in product.ratings" :key="index"> 2 <v-icon large>mdi-account-circle </v-icon> 3 <!-- エラー --> 4 <div class="pl-1">{{ rating.user.name }}</div> 5 <!-- 正常動作 {"id":1,"name :"テスト太郎"}--> 6 <div class="pl-1">{{ rating.user }}</div> 7 <!-- エラー --> 8 <div class="pl-1">{{ product.ratings[index].user.name }}</div> 9 <!-- 正常動作 テスト太郎--> 10 <div class="pl-1">{{ product.ratings[0].user.name }}</div> 11 </v-container>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。