Vuex

博客介绍了Vuex的核心概念,包括唯一数据源State、可派生新状态的Getters、更改状态的唯一方法Mutations、可包含异步操作且提交Mutation的Actions,以及用于分割store对象的Module,帮助开发者掌握Vuex状态管理。

核心概念:

1. State(掌握)
  1. State是唯一的数据源
  2. 单一状态树
const Counter ={
	template:`<div>{{count}}</div>`,
	computed:{
		count(){
			return this.$store.state.count
		}
	}
}
2. Getters

通过Getters可以派生出一些新的状态

const store = new Vuex.Store({
	state:{
		todos:[
			{id:1,text:'....',done:true},
			{id:2,text:'....',done:flase}
		]
	},
	getters;{
		doneTodos: state =>{
			return state.todos.filter(todo =>  todo.done)
		}
	}
})
//外部调用
this.$store.getters.doneTodos
3. Mutaitons(掌握)

更改 Vuex的store中的状态的唯一方法是提交Mutation

const  store = new Vuex.Store({
		state:{
			count:1
		},
		mutation: {
			increment(state){
				//变更状态
				state.count++
			}
		}
})
//外部触发调用
store.commit('increment')
4. Actions

Action提交的事mutation,而不是直接变更状态
Action可以包含任意异步操作

const store = new Vuex.Store({
		state:{
				count:0
		},
		mutations:{
				increment(state){
					state.count++
				}
		},
		actions:{
			increment(context){
				context.commet('increment')
			}
		}
})
//调用
this.$store.dispatch('increment')
5. Module

面对复杂的应用程序,当管理的状态比较多时,我们需要将Vuex的store对象分割成模块(modules)

const moduleA ={
	state:{.....},
	mutaitons:{....},
	actions:{.....},
	getters:{......}
}
const moduleB ={
	state:{.....},
	mutaitons:{....},
	actions:{.....},
	getters:{......}
}
const store = new Vuex.Store({
	modules:{
		a:modulesA,
		b:modulesB
	}
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值