# 安装
根目录运行
~~~
npm install vuex -S
~~~
![](https://box.kancloud.cn/bc8780736ec8e100d96073e4dccc9ed9_411x288.png)
# 配置
在src/main.js配置vuex
~~~
import store from './store'
new Vue({
el: '#app',
router,
store,
components: { App },
template: '<App/>'
})
~~~
![](https://box.kancloud.cn/4a06fe789840919524ba4f41fe64ca16_442x406.png)
src目录新建store文件夹,新建5个js 此处把vuex分成了5个文件
![](https://box.kancloud.cn/e175e644802d7164025ea154f7a040f3_334x219.png)
store文件夹下的5个js,里面包含了一个user例子
actions.js
~~~
import * as types from './types'
// action 存放的是方法
export default {
getUser: ({
commit
}, user) => {
commit(types.GETUSER, user);
}
}
~~~
getters.js
~~~
// getters 存放的是变量
export default {
// 用户个人信息
user: (state) => state.user,
}
~~~
index.js
~~~
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex);
import mutations from './mutations'
import actions from './actions'
export default new Vuex.Store({
modules: {
mutations
},
actions
});
~~~
mutations.js
~~~
import {
GETUSER
} from './types'
import getters from './getters'
import * as types from "./types";
const state = {
// 保存在localstorage中一份,处理f5刷新
// (后期可学习更方便的方式,目前还不会只能这样了)
user: window.JSON.parse(localStorage.getItem("user")),
};
// 用于具体改变数据
const mutations = {
[GETUSER](state, user) {
state.user = user;
localStorage.setItem("user", window.JSON.stringify(user));
}
};
export default {
state,
mutations,
getters
}
~~~
types.js
~~~
export const GETUSER = 'GETUSER';
~~~
- 笔记内容来源
- 你不知道的JavaScript上
- vue
- 环境搭建
- node和npm安装配置
- 安装vue-cli并初始化vue项目
- 安装配置elementUI
- vuex安装配置
- axios安装配置
- main.js
- vue基础入门
- vue-router介绍
- vuex
- vue 原理学习源码学习
- js正则处理v-bind和语法
- 双向绑定
- 虚拟dom
- mvvm和render函数
- vue工作项目笔记
- elementUI 表格分页多选记忆功能
- elementUI表格展开一行
- keepAlive
- vue整合ckeditor5
- this.$router.push 内打开新窗口
- java修改上传图片的权限
- 兼容ie11
- 生成二维码
- base64图片下载(兼容IE10)
- vue新手引导程序intro.js
- vue插件 devtools
- vue刷新当前页面
- vue 锚点导航
- axios
- axios与springmvc
- vue-cli 3搭建vue
- git
- git常用命令
- 正则表达式
- 实例demo
- 1
- 新手引导页
- 纯css3从左显示下划线动画导航菜单
- 纯css3从中间显示下划线动画导航菜单
- css显示密码
- 倒计时时钟
- 星星评分
- 按钮悬停效果
- 步骤条
- css动画按钮
- input标题获得焦点上移
- css图片放大
- css镜像导航栏
- js
- 通信
- for in 和 for of
- 前端安全问题
- Promise
- 掘金冴羽学习笔记
- 模拟call
- 模拟bind
- 闭包
- 1 作用域
- 2 执行上下文栈
- 3 变量对象
- 4 作用域链
- 5 this
- 面向对象
- 基础知识点
- 渲染机制
- 其他
- 判断是否为数组
- http
- css
- 基础知识
- css阴影