v-forとは
よくある「配列からデータを取り出してtableに表示して云々」を実現する。 仮引数を2つ用意することで「配列要素、インデックス番号」の順にセットすることも可能。
配列を絞り込みたい時
配列をそのまま表示するでなく、ソートしたり条件に合致するものだけを 表示させたい時など算出プロパティを使用する。
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>Vue.js</title> <link href="main.css" rel="stylesheet"> </head> <body> <div id="app"> <table class="table"> <th>No</th> <th>ISBN</th> <th>書名</th> <th>価格</th> <tr v-for="b in expensiveBooks"> <td>{{i + 1}}</td> <td>{{b.isbn}}</td> <td>{{b.title}}</td> <td>{{b.price}}</td> </tr> </table> </div> <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script> <script src="main.js"></script> </body> </html>
new Vue({ el: '#app', data: { books: [ { isbn: 'ssss', title: 'javaScript逆引きレシピ', price: 2900 }, { isbn: 'ssss', title: 'javaScript逆引きレシピ2', price: 3200 }, { isbn: 'ssss', title: 'javaScript逆引きレシピ3', price: 200 } ] }, computed: { expensiveBooks: function () { return this.books.filter(function (b) { return b.price >= 2500; }) } } });