Vue.js のリストレンダリング(v-for)に関する質問をさせてください。
実現したいこと
サイドバーにブックマーク機能を使用(true)してたらサイドバーにブックマークを表示させて、falseのときにサイドバーにブックマークを非表示させたいです。
(Twitter のブックマーク機能を参照)
自分で考えたこと
map メソッドで新たに配列を作って v-for を用いて表示/非表示する。
自分で考えても分からなかったため、良い実装方法などございましたら教えていただけると嬉しいです。
nuxt
1<v-list> 2 <v-list-item 3 v-for="sidemenuList in sidemenuLists" 4 :key="sidemenuList.name" 5 class="mt-5" 6 :to="sidemenuList.link" 7 > 8 <v-list-item-content> 9 <v-list-item-title>{{ 10 sidemenuList.name 11 }}</v-list-item-title> 12 </v-list-item-content> 13 </v-list-item> 14</v-list> 15<script> 16export default class Default extends Vue { 17 sidemenuLists = [ 18 { 19 name: 'ホーム', 20 link: '/', 21 }, 22 { 23 name: 'ブックマーク', 24 link: '/bookmark', 25 }, 26 { 27 name: 'プロフィール', 28 link: '/profile', 29 } 30 ] 31 // ブックマーク機能 32 get isBookmarkEnabled() { 33 return this.$store.getters['setting/isBookmarkEnabled'] || false 34 } 35} 36</script>
条件に応じて配列の中のオブジェクトを表示/非表示させるにはどう実装すれば良いか分からなかったため、質問させていただきました。
お手隙の際、ご確認お願い致します。
あなたの回答
tips
プレビュー