【问题标题】:Change value fo v-model from other component with vuex使用 vuex 从另一个组件更改 v-model 的值
【发布时间】:2018-12-03 15:42:10
【问题描述】:
我有 2 个组件
1.它是侧边栏导航 1.顶部的标题,现在我想从标题点击关闭,打开侧边栏导航
来自侧边栏代码:
<v-navigation-drawer
:clipped="$vuetify.breakpoint.lgAndUp"
fixed
v-model="sidebar"
app
v-if="$store.state.isUserLoggedIn"
>
在计算中,我从标头操作中获得了更新值。
computed: {
...mapState([
'sidebar'
])
},
现在我想更新v-model 'sidebar'的值
我该怎么做?
谢谢。
【问题讨论】:
标签:
javascript
vuejs2
vuex
vuetify.js
【解决方案1】:
我找到了简单的答案
1. 只需将v-model="sidebar" 更改为:value = "sidebar"
删除data 上的侧边栏
为计算添加侧边栏
computed: {
...mapState([
'sidebar'
]),
},
从标题中添加操作
this.$store.dispatch('setDrawer', !this.$store.state.sidebar)
并在存储文件中创建突变和操作setDrawer
类似的东西
state: {
sidebar: true
},
mutations: {
setDrawer (state, sidebar) {
state.drawer = sidebar
}
}
actions: {
setDrawer ({commit}, sidebar) {
commit('setDrawer', sidebar)
}
}