1 回答

TA貢獻1853條經驗 獲得超6個贊
使用 Vuex getter 并在計算的 getter 中引用它們,以及在計算的 setter 中檢索新值并使用它在存儲中提交突變是一個不錯的選擇。所以你的商店會變成:
const store = new Vuex.Store({
state: {
drawerState: false
},
mutations: {
toggleDrawerState (state, data) {
state.drawerState = data
}
},
getters : {
drawerState: (state) => state.drawerState
}
})
您的導航抽屜組件將變為:
<template>
<v-navigation-drawer v-model="drawerState" app clipped color="grey lighten-4">
<!-- content -->
</v-navigation-drawer>
</template>
<script>
export default {
name: 'NavigationDrawer',
computed: {
drawerState: {
get () { return this.$store.getters.drawerState },
set (v) { return this.$store.commit('toggleDrawerState', v) }
}
}
}
</script>
這是一個顯示完整示例的代碼筆: https ://codepen.io/JamieCurnow/pen/wvaZeRe
添加回答
舉報