微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

vue项目添加vuex

Vuex 是一个 Vue.js 应用程序开发的集中式状态管理方案。基于这个状态管理方案,我们可以把一个应用程序的状态存储到一个状态树中(单一状态树),并在应用程序的运行中实现这些状态的更新和变化。在 Vue.js 应用程序的开发过程中,我们经常会遇到多个组件状态相互依赖的情况,为了方便管理,可以使用 Vuex。

vue项目添加vuex

在 Vue 项目中添加 Vuex,需要先安装 Vuex,使用 npm 安装,具体命令如下:

npm install vuex --save

安装成功后,在 main.js 中引入 Vuex,并使用 Vue.use(Vuex) 安装 Vuex 插件

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

接着,在 src 文件夹下新建一个 store 文件夹,在 store 文件夹下新建一个 index.js 文件,这个文件是 Vuex 的核心文件,也是整个应用程序的状态管理中心。

在 index.js 中先引入 Vue 和 Vuex:

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
  state: {},mutations: {},actions: {},modules: {}
})

在 store 文件夹下,可以新建一个 modules 文件夹,用来存储模块化的 Vuex 状态管理模块。在 modules 文件夹下,可以新建一个 user.js 文件,用来存储用户相关的状态信息。

在 user.js 文件中,先定义一个状态对象,存储用户信息:

const state = {
  user: null
}

然后定义一个 mutations 对象,存储更新用户信息的方法

const mutations = {
  setUser(state,user) {
    state.user = user
  }
}

在 mutations 对象中,定义了一个名为 setUser 的方法,用来更新 state 中的 user 信息。

接着定义一个 actions 对象,存储异步更新用户信息的方法

const actions = {
  async login({ commit },payload) {
    try {
      // 异步请求后端接口,获取用户信息
      const user = await api.login(payload)
      commit('setUser',user)
      return user
    } catch (error) {
      // login Failed
      throw error
    }
  }
}

在 actions 对象中,定义了一个名为 login 的方法,该方法先通过 api.login(payload) 异步请求后端接口,获取用户信息,然后通过调用 mutations 中的 setUser 方法,更新 state 中的 user 信息。

最后,在 index.js 文件中,将 user 模块添加到 modules 对象中:

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

Vue.use(Vuex)

export default new Vuex.Store({
  modules: {
    user
  }
})

这样,就完成了添加 Vuex 的过程。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐