Например, у меня есть файл с именем App.vue, и там у меня есть компонент ящика навигации. И у меня есть файл с именем Home.vue с компонентом панели инструментов. Дело в том, что мне нужно переключать состояние ящика навигации (true или false) из компонента панели инструментов Home.vue (также компонент ящика навигации отображается в Home.vue). Приведенный ниже код не возвращает никаких ошибок и не меняет видимость навигационной панели. Также, если установить состояние вручную в store.js, за ним следует навигационная панель. Может кто-нибудь помочь, пожалуйста?
store.js
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store({
state: {
drawer: false
},
mutations: {
toggleDrawer: function(state) {
return state.drawer = !state.drawer;
}
},
actions: {
toggleDrawer({ commit }) {
commit('toggleDrawer');
}
},
getters: {
active: (state) => {
return state.drawer;
}
}
})
App.vue
<v-navigation-drawer v-model="drawer"> ... </v-navigation-drawer>
<script>
import store from './store'
export default {
data: function() {
return {
drawer: this.$store.state.drawer
}
}
}
</script>
Home.vue
<v-toolbar-side-icon @click="$store.commit('toggleDrawer')"> ... </v-toolbar-side-icon>
<script>
import store from '../store'
export default {
data: function() {
return {
drawer: this.$store.state.drawer // Seems like I don't need it here
}
}
}
</script>