首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何进行状态更改?

如何进行状态更改?
EN

Stack Overflow用户
提问于 2019-02-05 18:21:10
回答 1查看 60关注 0票数 0

我做了两个不同的组件。在一个v-navigation-drawer中,第二个有一个按钮,可以更改vuex中的v-导航-抽屉的状态。

在小屏幕上时,会调用v-navigation-drawer,单击灰色区域后,vuex中的状态不会更改。

代码语言:javascript
复制
enter code here

drawer.vue

代码语言:javascript
复制
<template>
    <v-navigation-drawer
        fixed
        :value="drawer"
        app
        :class="getSettingsTheme"
        :mini-variant="mini"
        >
    <b>menu</b>
   </v-navigation-drawer>
</template>

sitebar.vue

代码语言:javascript
复制
<template>
    <v-toolbar fixed app clipped-right :class="getSettingsTheme">

        <v-tooltip right>
            <v-btn slot="activator" icon @click.stop="drawerMut">
                <v-icon class="theme--light grey--text" color="grey lighten-1">menu</v-icon>
            </v-btn>
            <span>Show/Hide drawer</span>
    </v-tooltip>

  </v-toolbar>
</template>

vuex

代码语言:javascript
复制
export default new Vuex.Store({
state: {
    drawer: true,
},
mutations: {
    drawerMut(state) {
        state.drawer = !state.drawer
    }
},
getters: {
    drawer(state) {
        return state.drawer 
    },
}})
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-05 19:36:25

您可以从存储区读取drawer状态并更新到存储区

在Vue中,我们有computed setter,请看一下文档。

如果你使用:value,那么在后台单击drawer的状态/值将不会被更新,所以使用v-modeldrawer就像使用setter和getter计算的一样。

代码语言:javascript
复制
export default {
    data() {
      return {
        mini: true,
        getSettingsTheme: ''
      }
    }
    computed: {
      drawer: {
        get() {
          return this.$store.getters['drawer'];
        },
        set(val) {
          this.$store.commit('drawerMut', val);
        },
      }
    }
  }
代码语言:javascript
复制
<template>
  <v-navigation-drawer fixed
                       v-model="drawer"
                       app
                       :class="getSettingsTheme"
                       :mini-variant="mini">
    <b>menu</b>
  </v-navigation-drawer>
</template>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54532189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档