VUE + TS项目记录 vuex-class

13 篇文章 0 订阅
npm install --save vuex-class

文件目录:

在这里插入图片描述
代码展示 index:

import Vue from 'vue';
import Vuex from 'vuex';
 
// 引入模块
import LoginStore from './modules/LoginStore';
 
Vue.use(Vuex);
 
export default new Vuex.Store({
  modules: { // 模块
    LoginStore
  },
 
  state: {  // 数据 => 这里的数据是公共数据,各个模块之间相互独立维护自己的数据和方法
    sb: 'vuexInde_val'
  },
 
  mutations: { // 修改数据
    setSb: function (states: any, params: object) {
      console.log(params);
      states.sb = params;
    }
  }
});

模块的代码展示: namespaced

import { Commit } from 'vuex';
 
const state: any = {
  token: localStorage.getItem('token') || '',
  test: 10
};
 
const mutations = {
  setToken(state: any, token: string): void {
    state.token = token;
  },
 
  setTest(state: any, token: number): void {
    state.test += token;
  }
};
 
export default {
  namespaced: true, // namespaced为false的时候,state,mutations,actions全局可以调用,为true,生成作用域,引用时要声明模块名
  state,
  mutations
};

组件内使用: (目前展示的只是部分,更多的可以去npm上去查看)

I : 按需引入你需要的相应模块

import { State, Getter, Action, Mutation, namespace } from 'vuex-class';

II: 引入命名空间 => namespace(对应store中modules模块响应得到模块)

const LoginStore = namespace('LoginStore');

III: 使用展示
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值