vuex存取数据(typeScript)

本文介绍了如何使用Vuex进行数据管理,特别是模块化的实现。首先定义了一个名为`authorityData`的模块,包含state、mutations、actions和getters,用于存储和操作`authorityList`数据。然后在store/index.ts中引入该模块,并在App.vue中设置数据。最后,在其他页面通过Vuex的计算属性获取并使用存储的数据。
摘要由CSDN通过智能技术生成

vuex存取数据

* 本文是将vuex分为好几个模块

一、首先定义假数组authorityList[]

const authorityData = {
  // 命名空间开启
  namespaced: true,
  state: () => {
    return {
      authorityList: []
    };
  },
  mutations: {
    setAuthorityList: (state: { authorityList: any }, authorityList: []) => {
      state.authorityList = authorityList
    }
  },
  actions: {
    setAuthorityList({ commit }: any, authorityList: any) {
      commit('setAuthorityList', authorityList)
    }
  },
  getters: {},
};

export default authorityData;

二、在store/index.ts中引用

import { createStore } from 'vuex';
import authorityData from "./authorityData";

export default createStore({
  state: {
    isMicroApp: (window as any).__POWERED_BY_QIANKUN__,
  },
  mutations: {
    initIsMicroApp(state, payload){
      state.isMicroApp = payload
    }
  },
  actions: {
    init({ commit }, { isMicroApp }){
      commit('initIsMicroApp', isMicroApp)
    }
  },
  getters: {},
  modules: {
    authorityData,
  }
});

在这里插入图片描述

三、在App.vue里面存入数据(分级实际情况而定)

    // 按钮权限获取
	function getAuthorityListFun() {
		// 本文中将vuex分为几个模块,方法是在某个模块中,直接通过store.commit('方法名')是获取不到的,必须要在前面加上模块名,如store.commit('模块名/方法名')才可以。
		store.commit('authorityData/setAuthorityList', ['a','b',1]);
	}
	onMounted(()=>{
		getAuthorityListFun()
	})

四、在对应页面获取存入的数据

	import { useStore } from 'vuex';
	
	const store = useStore();
    const authorityList = computed(() => {
		return store.state.authorityData.authorityList;
	});
    console.log(authorityList,'authorityListauthorityList')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值