vuex 基础概念
认知:
vuex是为vue专门定制的状态管理工具。我认为主要是把数据和视图完全分开管理,并且所有的改动都从vuex触发,统一管理。解决了跨组件,跨页面的通信方式。
关键概念:store/getter/mutations/actions/modules
store: 一个sore就是一个数据集, 我理解为是一个数据对象,在这个对象中暴露出我们获取数据, 修改数据的方法
在一个store里包含state/getters/mutations/actions/modulesgetter: 在vue中,我们有computed函数, 这个computed本质上是给这个元素设置了get方法,在我们获取这个数据的时候,进行计算, return出值.而在vuex,我们也可以使用类似的功能, 就是getter方法。
mutations: 我们每次对state里的数据进行改动都需要通过一个事件来进行提交, 类似git的commit的概念。类比git的提交过程, 这个就是git commit 命令。每次提交可附带荷载, 并且支持传参和对象的方式提交。
actions: git 每次进行提交之前都需要add所更改的文件,类比过来也是一样的。要提交的mutation就要先走action。我能理解有时不需要使用actions就可以提交, 但是,我们使用action最重要的一点是, actions支持异步, 而mutations只支持同步修改。
modules: 我们使用的状态管理在大型的页面中很容易产生一个巨大的store.js的文件, 那么vuex为我们提供了模块化的语法。