美文网首页vue实战
vue实战问题2:模块化使用vuex

vue实战问题2:模块化使用vuex

作者: 胡先森很忙 | 来源:发表于2019-06-20 18:59 被阅读60次

一般在项目中,普通的组件传值可能不够用了,你就会想到要是有个变量的仓库,让我们能直接用这些变量多好,这个时候选择合适的状态管理模式尤为重要

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式,当然了vuex还是略显笨重的,可以根据自身的项目选择使用vuex还是使用总线bus

1、安装并引入vuex

npm install vuex --save

import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store/index'

Vue.config.productionTip = false

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

使用Vue CLI可视化创建的小伙伴们修改下store的路径,默认路径是./store

安装过程更具体的可以参考官网https://vuex.vuejs.org/zh/installation.html

2、创建store
项目目录.jpg

创建一个store文件夹,作为我们的状态管理库,按照自己的模块创建modules文件夹,我写的demo是创建了一个user.js当作用户模块的

index.js

//index.js
import Vue from 'vue';
import Vuex from 'vuex';
import user from './modules/user';
Vue.use(Vuex);
export default new Vuex.Store({
    modules: {
        //用户模块
        user
    }
})

mutation-types.js是区分mutation的模块类型的,一个模块可能看不出多大的作用,当然模块多了的话是很好管理的

//mutation-types.js
//user
export const RECEIVE_USER_INFO = 'RECEIVE_USER_INFO';

重点在user.js,state中是你放在state上用户模块的变量,mutations是commit提交改变变量的操作

//user.js
import * as types from '../mutation-types';
//initial state
const state = () => ({
    userInfo: null,
});
//getters
const getters = {
    getUserInfo: store => store.userInfo,
}
//mutations 
const mutations = {
    [types.RECEIVE_USER_INFO](store, userInfo) {
        store.userInfo = userInfo || null;
    },
}
//actions
const actions = {
    getUserInfo({
        commit
    }) {

    },
    login({
        commit
    }) {

    }
}
export default {
    state,
    getters,
    actions,
    mutations
}

项目跑起来,你就能看到user模块了


store.jpg
let info = {
      name: "zhangsan",
      age: 18
};
this.$store.commit("RECEIVE_USER_INFO", info);

commit你的userInfo看看成果吧,小伙伴们觉得有帮助的话可以点个赞呦

相关文章

  • vue实战问题2:模块化使用vuex

    一般在项目中,普通的组件传值可能不够用了,你就会想到要是有个变量的仓库,让我们能直接用这些变量多好,这个时候选择合...

  • 使用 node 模拟请求接口

    上一篇:Vuex 进阶——模块化组织 Vuex 使用 Vue 写项目肯定会遇到一个问题,如何模拟服务端请求数据,那...

  • vue 技术栈 架子 vue-router axios vuex

    本文是vue技术栈基础架子包含:1 路由配置2 vuex使用模块化3 axios封装4 element-ui 组件...

  • VueX--VUE核心插件

    使用VueX方法 1.安装vuex模块 npm install vuex --save 2.作为插件使用 Vue....

  • Vuex的模块化拆解

    上次已经说了Vuex的基本使用方法这次来说下Vuex的模块化拆解,我个人挺喜欢这样,方便维护 app.vue ma...

  • Vue优雅使用技巧(二)--vuex细节使用

    Vue中vuex使用 vue的项目只要拆分出来一定要做到 模块化处理,不管是路由,数据状态,组件,混入,指令,过滤...

  • Vuex最详细教学

    一、Vuex单界面到多界面状态管理切换: 1.安装配置vuex,版本依赖 vue2的项目使用vuex3,vue3的...

  • 模块化vuex,获取、设置数据,及刷新保留数据方法

    前言 1.模块化vuex2.获取vuex中的数据3.设置vuex中的数据4.刷新之后,保留数据 模块化vuex 数...

  • vue2 vuex的使用

    vuex在vue2中的使用与在vue3中不同,首先,需要安装vuex3而不是vuex4,然后,需要在全局中进行定义...

  • vuex使用记录

    副标题:vuex使用详解、vue使用全局变量、vue使用 store 这篇博客主要记录了 vuex的使用方法,简单...

网友评论

    本文标题:vue实战问题2:模块化使用vuex

    本文链接:https://www.haomeiwen.com/subject/ziehqctx.html