###前提・実現したいこと
vue.jsでリストレンダリング内で表示制御をしたい。テーブルのインデックス数と同じ要素数の配列を用意し、bool値を入れる。bool値を見て、テーブルの表示/非表示を切り替えたい。例えば、flag[0] == trueの場合は、files[0].nameが非表示になる。描画後、!flag[0]とした場合files[0].nameが表示される。
###発生している問題・エラーメッセージ
テーブル描画後にflagの値を変化させた時、テーブルが再描画されない。
###該当のソースコード
vue.js
1var demo = new Vue({ 2 name: 'vue-file', 3 el: '#app', // 関連付けるDOMを設定する 4 data: { // 紐付けるデータを定義 5 'files': [], // テーブルへ表示するデータ 6 'flag': [], // ファイル名表示フラグ 7 },
index.html
1<body id="app"> 2 <table> 3 <thead> 4 <tr> 5 <th>ファイル名</th> 6 </tr> 7 </thead> 8 <tbody> 9 <tr v-for='file in files> 10 <td v-if="!flag[$index]"> {{ file.name }}</td> 11 <td v-else"></td> 12 </tr> 13 </tbody> 14 </table> 15</body>
###試したこと
flagの値はコンソールから変化させました。
そもそもリストレンダリング内で表示制御を行うことは不可能なのでしょうか?
###補足情報(言語/FW/ツール等のバージョンなど)
vue.js 1.0.21
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/13 05:23
2017/02/13 06:42
2017/02/13 07:17
2017/02/13 07:32
2017/02/13 07:55
2017/02/13 08:00 編集