- Products -


Software


NEWS


Special



- Knowledge -


Category × Tag



- Like -

公開
作成日:2021/11/21
更新日:2022/6/6

【Vue.js】v-forで多次元配列を扱う方法

・何かを動的に複数階層で表現したい時に、Vueでどう書けば良いのかを示す。

・こういったケースには、配列(リスト)変数の中にオブジェクトを格納し、そのオブジェクトに配列(リスト)を持たせ、それをループで表示するという形で対処できる。

使い方


・dataプロパティ内に、showpostを配置し、その中身を表示する例

<div v-for="tmp in showpost">
    <h3>{{tmp.name}}</h3>
    <div class="relatepost">
        <div v-for="article in tmp.items" class="relatepost_item">
            <span class="category_icon">{{article.category}}</span>
            <a v-bind:href="article.id + '.php'" target="_blank">
                {{article.title}}
            </a>
        </div>
    </div>
    <br>
</div>

// script内での処理
let retList = [];

// 配列にオブジェクトを格納
for (var i = 0; i < self.tag.length; i++) {
    retList.push({
        name: self.tag[i],
        items: []
    });
}

// オブジェクト内の配列に表示したいものを格納
self.kiji.forEach(p => {
    for (var i = 0; i < self.tag.length; i++) {
        if (p.tag.toLowerCase().indexOf(self.tag[i].toLowerCase()) > -1) {
            retList[i].items.push(p);
        }
    }
});
self.showpost = retList;


参考


https://qiita.com/ykhirao/items/cf05e949e14aaac7f757


Category



Tag




関連記事


{{tmp.name}}

{{article.category}} {{article.title}}