vuex集中管理所有组件的状态
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式 + 库。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
用户在View的动作会调用methods中的方法,
异步时:
- vuex中需要dispatch来触发actions中的方法,
- actions中的commit可以触发mutions中的方法,
同步:
- 直接在组件中commit触发mutions中的方法
mutions会修改state(修改data),data改变getters把数据反映到View视图
vuex使用
-
安装
npm install vuex --save -
main.js导入vuex
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
-
store(仓库)
每一个 Vuex 应用的核心就是 store(仓库).- Vuex 的状态存储是响应式的
- 你不能直接改变 store 中的状态,使用vuex提供的方法
-
创建仓库
-
引入vuex Vue.use(Vuex)
-
const store = new Vuex.Store({
//仓库数据
state:{},
//修改的方法
}) -
挂载vue实例
-
new Vue({
router,
store,
render: h => h(App)
}).$mount('#app')
state //状态–数据
vuexInit()会将创建的store仓库给this.$ s t o r e , 我 们 可 以 从 store,我们可以从 store,我们可以从Store.state中取值
- 获取state数据
- 方法1:直接获取
$store.state.user
方法2:计算属性获取(知道了)
- 方法1:直接获取
computed: {
count