研究Vuex.我针对example projectdocument编写了一个简单的登录页面,但当我try 使用操作函数时,开发人员工具只是警告我

error info

这是我的代码:

src/views/Login.vue

handleLogin (formName) {
      this.$refs[formName].validate(valid => {
        if (valid) {
          // to do
          this.$store.dispatch('user/login', this.loginUser)
        } else {
          ......
          })
        }
      })

src/store/index.js

import Vue from 'vue'
import Vuex from 'vuex'
import user from './modules/User/user'
// import info from './modules/info'

Vue.use(Vuex)

export default new Vuex.Store({
  strict: false,
  modules: {
    user,
    // info
  }
})

/src/store/modules/User/actions.js

export const userActions = {
  login({commit}, loginUser) {
    commit(LOGIN)
    axios.post(`${ API_BASE_USER }/login`, loginUser)
         .then(res => {
           console.log(res)
           if (res.status == 200) { commit(LOGIN_SUCCESS, res.data) }
           else { commit(LOGIN_FAILURE, res.data) }
         })
  }
}

/src/store/modules/User/User.js

import { userActions } from './actions'
import { userMutations } from './mutations'
export default {
  namespaced: true,
  state: {
    token: ''
  },
  actions: Object.assign({}, userActions),
  mutations: Object.assign({}, userMutations)
}

推荐答案

我得到了它.

但是正确的Mutations 类型.js应该是export const LOGIN = 'LOGIN'

Vue.js相关问答推荐

将事件监听器绑定到动态元素

如何用其他组件编译Vue模板?

VueUse onClickOutside不支持右键单击

Vue3组合-如何在组件卸载时注销回调

如何在AXIOS调用响应中动态导入视频并创建它的绝对路径?

在 VueJS 中,将变量而不是组件的字符串名称传递给动态组件的 :is 属性不起作用

Nuxt3-Vue中的useRoute和useRouter有什么区别

使用 Nuxt 动态获取文件夹中的图像路径

如何将 vuejs 项目部署到 heroku

使用数组元素的计算(computed)属性

如何在 Vue.js 中触发点击 ref

重新加载发布到 Github 页面的 Vue 网站时出现 404

如何在 Vue.js 中获取组件元素的 offsetHeight?

为 Vue 组件动态添加属性

如何将事件绑定到 Vuetify 中的树视图 node ?

如何通过 Axios 发送文件到 Laravel

如果我刷新我的网页,Vuex store是空的

v-if 未在计算(computed)属性上触发

在 vue js 中的何处以及如何存储 API 端点?

Vuetify v-data-table 固定标题不起作用