Vuex状态管理部分知识点

123 阅读2分钟

vuex是做什么的

1.vuex是一个专为vue,js应用程序开发的状态管理模式

vuex核心概念

1).State
2).Getters
3).Mutation
4).Action
5).Module

注意:Mutation 只能实现同步操作不可以实现异步操作

  • - 修改store状态一定是通过mutation修改的

2.vue中的count

1.提取出一个公共的store对象,用于保护多个组件中共享的状态

2将store对象放置在newVue对象中,这样可以保证所有的组件否可以使用到

3通过this,$store,state属性的方式访问状态即可

通过this.$store.commit('mutataion中方法')来修改

state单一状态树 英文名称Single source Of Truth,也可以翻译成单一数据源

vuex中不可以搞一大堆store不方便以后的维护

vuex的store中的state是响应式的,当state中的数据发生改变时,vue组件会自动更新 那么就要必须遵循一些vuex对应得guize 提前在store中初始化好所需的属性 当给state中的对象添加新属性时使用以下两种方式 方式一:使用vue.set(obj,'newProp',123) 方式二:用新对象给旧对象重新赋值

set(要修改的对象,索引值,,修改后的值)

mutation常量类型-概念 在mutation中,定义了很多事件类型(也就是其中的方法名称) 当项目增大时,Vuex管理的状态越来越多,需要更新状态的情况 越来越多,那么意味着Mutation的方法越来越多 方法过多,使用者需要花费大量的精力去记住这下方法,甚至时多个文件等等,会出现错误的情况

mutation同步函数 通常情况下,vuex要求我们mutation中的方法必须是同步方法 主要的原因是当我们使用devtools时可以devtools可以帮助捕捉mutation 的快照

context上下文

认识Module Module=是模块的意思,为什么Vuex中我们要使用 Vuex使用单一状态树,那么也就意味着很多的状态都会交给Vuex来管理

当我们变得非常复杂时,store对象就有可能变得相当臃肿 为了解决这个问题Vuex允许我们将store分割成模块(Module而每个模块拥有自己的state,mutations, action,getter等