什么是vuex?
Vuex 是一个专为Vue.js用程序开发的状态管理模式。
状态管理模式中的状态是指什么状态?为什么称之为状态?
它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
采用集中式存储管理————所有组件,也就是说所有组件的状态都被集中存储管理了。利用自己的规则来确保状态的变化可预测可控。我感觉和单项数据流的父子通信有点像,只不过解决的问题不一样,vuex更大。
什么是状态管理模式
文档给出了一下代码:
new Vue({
// state
data () {
return {
count: 0
}
},
// view
template: `
<div>{{ count }}</div>
`,
// actions
methods: {
increment () {
this.count++
}
}
})
以该小段代码为例:这个状态管理应用包含3个部分。
- state,驱动应用的数据源;
像这样说state就是一个数据存储中心,集中式存储。
view,以声明方式将 state 映射到视图;
view 就是template模板。需要数据的地方,那么我猜view和state之间可能会有一些相应的规则。就像父组件传递给子组件需要通过prop而且是单项传递一样。
- actions,响应在view上的用户输入导致的状态变化。
actions也负责管理状态变化的模块。
那么状态就应该主要指数据。定义一套规则,统一存储所有组件的数据,到管理所有数据的变化。这应该就是vuex吧,感觉。