【问题标题】:Wierd VUEX states behaviouro奇怪的 Vuex 状态行为
【发布时间】:2020-09-03 04:15:58
【问题描述】:

我只是 VUEJS 的初学者,在尝试使用 vuex states 时遇到了问题。有一个名为 'login' 的模块,在 'login' 模块中有以下状态

state:{
  email: '',
  password: '',
  toast: ''
}

我试图使用 this.$store.state.email 访问 vue 应用程序中的状态,它给出了值 undefined。经过一整天的痛苦,我头晕目眩,我尝试了 this.$store.state.login.email,它奏效了。

不应该以第一种方式工作吗?

【问题讨论】:

  • 一点也不奇怪。您正在使用模块,并且电子邮件仅在您的登录模块中可用,而不是根状态,因此您需要先“点”到登录模块中。阅读文档:vuex.vuejs.org/guide/modules.html

标签: javascript vue.js vuex vuex-modules


【解决方案1】:

如果没有完整的代码,真的无法判断,但我想你可能正在使用模块,而登录是主商店的模块之一,所以要访问登录模块,你必须通过主商店然后模块它自己,因此this.$store.state.login.email

如果您想了解更多关于Vuex modules 的信息,请点击此处。

Ps : 你也可以像这样访问你的登录模块属性作为计算属性。

import { mapState } from "vuex";

export default {

   computed: {
       ...mapState ({
           email: state => state.login.email,
           password: state => state.login.password,
           ...
       }),
   },

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-21
    • 2019-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-19
    相关资源
    最近更新 更多