vuex

2021-03-30  本文已影响0人  波仔_4867

一、什么时候使用Vuex

如果应用比较简单,就不需要使用Vuex,直接使用父子组件传值及及它传值方式即可,使用Vuex就要额外的引入vuex的框架,可能是繁琐冗余的

   如果需要构建一个中大型单页应用,就可以使用vuex更好地在组件外部管理状态

二、 Vuex 是什么?

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。

    它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。

三、Vuex的五个核心概念

1. state: 存储公共数据

2. mutations: 不能包含异步操作

更改 Vuex 的 store 中的状态的唯一方法是提交 mutation
 mutation的方法中有两个参数,第一个是state,第二个是参数
                mutations: {
                    方法名(state,参数){
                        state.属性 = 参数
                    }
                }
在组件中提交mutations的方法:  this.$store.commit("方法名",参数)

***** state中的数据是响应式的,数据改变,相关视图会重新渲染

3. actions:

Action 类似于 mutation,不同在于:

Action 提交的是 mutation,而不是直接变更状态。(action不能直接更改state数据)

Action 可以包含任意异步操作。


**总结一下: 
mutation不能有异步操作,而action可以有异步操作
mutation可以直接更改数据,而action只能通过提交mutation,通过mutation的方法来改变数据
实际通过组件改变数据时,如果没有异步操作,可以直接提交mutation,如果有异步操作,必须派发action,通过action提交mutation来更改数据

4. getters: 就像计算属性一样,getter 的返回值会根据它的依赖被缓存起来,且只有当它的依赖值发生了改变才会被重新计算

上一篇下一篇

猜你喜欢

热点阅读