Vue.js では、v-for を使うと、配列を HTML のテーブルやリストとして見やすくレンダリングできます。しかし、オブジェクトのキーと値をテーブルとして表示したい場合はどうすればよいのでしょうか。例えば、連絡先の情報を JS のオブジェクトと配列で多数保存していて、連絡先ごとにキーが異なるとします。連絡先1の情報をテーブルで表示したいのですが、v-for はこの用途には向いていないのでしょうか?
例えば、次のような JS のオブジェクトを HTML に変換したいとします:
{
"name": "Karl",
"age": 10,
"school": "NTUST"
}HTML:
<p>name:Karl</p> <p>age:10l</p> <p>school:NTUST </p>
最初は Object.keys と v-for を組み合わせて解決しようとしましたが、とても冗長だと感じました。そこで、この問題を解決できる良い構文を見つけました:
<p v-for="(val, key) in contacts[0]">{{key}}:{{val}}</p>