VUEX介绍

Vue特点

  • 集中式存储管理应用的所有组件的状态
  • 保证状态以一种可预测的方式发生变化
  • 简化Vue组件间通讯

Vuex的安装与使用

在vue之后引入vuex会自动安装

<script src="/path/to/vue.js"></script>
<script src="/path/to/vuex.js"></script>

npm安装

npm i vuex@3.4.0 --save

安装 Vuex 之后,让我们来创建一个 store

 import Vuex from 'vuex'
 vue.use(Vuex)
 const store = new Vuex.Store({
 	state: {
 		count: 0
 	},
 	 mutations: {
 	 	 increment (state) {
 	 	 	state.count++
 	 	 }
 })

Vuex 的核心概念

State

获取状态对象

Mutations

更改 Vuex 的 store 中的状态

mutations: {
	PLUS (state) {
		state.count++     // 变更状态
	}
}

Actions

提供给外部组件调用,actions内使用commit触发执行mutations中的方法

Getters

Getter 接受 state 作为其第一个参数

getters: {
	doneTodos: state => {
		return state.todos.filter(todo => todo.done)
	}
}

Vuex辅助函数 map系列

在组件中使用

import {mapGetters,mapActions} from 'vuex'

mapGetters 辅助函数
---- mapGetters 辅助函数仅仅是将 store 中的 getter 映射到局部计算属性

//在组件中获取 state 数据,在 computed 计算属性中使用,如果你想将一个 getter 属                  性另取一个名字,使用对象形式
...mapGetters[{
	doneCount: 'doneTodosCount'
	//doneCount :计算名
	//doneTodosCount:方法名
}]
//当计算名和方法名相同时可以简写
//...mapGetters['doneTodosCount']

mapActions 辅助函数
---- 在数组中操作 vuexStore 中的 action 方法

methods:{
	...mapActions[{
		onPlus: 'onPlus'   //'onPlus':actions方法名
	}]
	 // 名称与值相同时可简写为 'onPlus'
}
//等价于
onPlus(){
	 this.$store.dispatch("onPlus")
}

Vuex - persistedstate 插件

安装

npm i vuex-persistedstate --save

引入及配置
在store下的index.js文件中配置:

 import createPersistedState from 'vuex-persistedstate'
 plugins: [createPersistedState]

默认存储到 localStorage 中,想要存储到 sessionStorage 中,配置如下:

plugins: [createPersistedState({
	storage:Window.seessionStorage,
	key:'store'
})]
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值