什么是 Vuex?
用 2 句话概括:
1. 主要应用于 Vue.js 中管理数据状态的一个库
2. 通过创建一个集中的数据存储,供程序中所有组件访问
当然这么说肯定还是有所不懂,这里我就用单一使用 vue.js 和使用 vuex.js 场景的不同进行对比讲解
单一使用 Vue.js 的场景
在单一使用 vue.js 的场景中,我们难免要在不同的组件中互相传值。在该场景中,由一个根组件,两个父组件再各自拥有一个子组件,
我们如果使用 prop 的属性传值,在这个详情组件需要使用添加组件中的某个值时,我们需要不停的触发某个事件将这个值一层一层
一层一层地沿着这个路径传过去,这样能实现将值传递给详情组件,但这是相当的麻烦(鬼知道我当初不知道 vuex 为了传值头有多
大)。现在让我们看下 vuex.js 场景下的效果
使用 Vuex.js 的场景
我们将使用专门的 store 存储所有的数据,如果我们需要取到组件二或更深一级的子组件的某个数据我们可以直接使用 getter 方法直
接拿到其中的数据。如果我们需要向 store 中添加或更改某个数据,我们可以用 mutation 或直接$store.state 的形式直接跨过父组件
向 store 中直接添加或更改数据。就好比一个仓库,所有人能直接跨过上级拿到仓库中的某个你所需要的东西,这无疑是在我们使用
vue 开发项目时,相当省时省力的办法。
评论