Vue-CLI3.0项目搭建过程系列二:项目中vuex应用

系列一中我们安装配置了项目常用的一些插件,接下来是vuex在项目中的应用

vuex官网解释如下

目前我写过的项目中vuex主要是用来存放用户的信息和登录状态、权限相关等,仅在本文中介绍用法。

src文件夹下新建store文件夹-》新建index.js文件

然后main.js文件中引入:

import store from './store'

new Vue({
  store,
  render: h => h(App)
}).$mount('#app')

接下来我们开始写store

为了便于管理项目在store文件夹下新建modules用于存放不同模块的状态

项目中常用的比如用户信息用来放登录用户相关

modules下新建user.js

const user = {
    state: {
        currentUser: '',
        isLogin: false
    },
    getters: {
        currentUser: state => state.currentUser,
        isLogin: state => state.isLogin
    },
    mutations: {
        userStatus(state, user) {
            if (user) {
                state.currentUser = user
                state.isLogin = true
            } else {
                state.currentUser = null
                state.isLogin = false
            }
        }
    },
    actions: {
        setUser({commit}, user) {
            commit('userStatus', user)
        }
    }
}

export default user

在store=》index.js文件中引入

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

Vue.use(Vuex)

const store = new Vuex.Store({
    modules: { user }
})

export default store

这样在项目里我们可以随时拿到有关用户的信息和当前登录状态并对其进行修改

获取的方法:

import store from './../store'
// 然后
store.getters.currentUser

或者

this.$store.getters.currentUser

修改当前用户方法:

import store from './../store'
// 然后
store.dispatch('setUser', 'liona')

或者

import {mapActions} from 'vuex'
然后
methods: {
         ...mapActions(['setUser'])//数组里可以放多个
         }
修改的时候就可以用
this.setUser('newName')

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

辣姐什么鬼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值