Vuex状态管理库

Vuex是官方提供的一个插件,状态管理库,集中式管理项目中组件共用的数据
并不是全部项目都需要Vuex,如果项目很小,完全不需要Vuex,如果项目很大,组件很多、数据很多,数据维护很费劲。

state
mutaitons
actions
getters

Vuex基本使用
安装cnpm install --save vuex

在src下面创建store文件夹-->inde.js文件

import Vue from 'vue';
import Vuex from 'vuex';

//使用一次插件
Vue.use(Vuex)
//state 数据存储的地方
const state ={
    count:1
};
//处理actions ,可以书写业务逻辑,也可以异步处理,但不能修改state
const actions ={
    add({commit}){
        commit("ADD");
    }
};

//mutations 唯一修改state的地方

const mutations ={
    ADD(state){
        state.count++
    }
};

//getters理解为计算属性,用于简化仓库数据,让组件获取仓库的数据更加方便
const getters={};

//对外暴露
export default new Vuex.Store({
    state,
    mutations,
    actions,
    getters
})
需在main.js入口文件中注册 store
import store from '@/store'

new Vue({
  render: h => h(App),
  //注册路由
  router,
  //注册store
  store
}).$mount('#app')

引用时

//导入mapState 
import { mapState } from 'vuex';
//调用$store身上的dispatch 去操作actions 中的add函数
this.$store.dispatch('add');

如果数据较多,可以单个页面分开写store,在store文件夹里面新建文件夹.

posted on 2022-08-09 16:39  xiaobo95  阅读(18)  评论(0编辑  收藏  举报

导航