当前位置: 首页 > news >正文

Vue Vuex模块化编码

正常写vuex的index的时候如果数据太多很麻烦,如有的模块是管理用户信息或修改课程等这两个是不同一个种类的,如果代码太多会造成混乱,这时候可以使用模块化管理

原始写法

如果功能模块太多很乱

import Vue from 'vue'
import Vuex from 'vuex'
//导入VuexVue.use(Vuex)const actions = {addSum(context, value) {//context 上下文里面有commit函数 value 是组件传过来的值context.commit('AddSum', value)//获取到了数据 操作数据},//获取数据 如发起请求等
}const mutations = {AddSum(state, value) {state.sum += value//这样就完成了赋值}//操作数据
}const state = { sum: 0 }
//保存数据//暴露出去给别人使用
export default new Vuex.Store({actions, mutations, state})

模块化写法

在这里插入图片描述
在这里插入图片描述

如果代码逻辑特别多可以分文件细化

import Vue from "vue";
import Vuex from 'vuex'
Vue.use(Vuex)//用户信息模块
const userList =
{namespaced: true,//开启命名空间  true开启才可以怎样获取数据   ...mapState('classList',['方法名','方法名'])actions: {},  //获取数据 如发起请求等mutations:{getUserId(state, value) {state.user_id = value} //获取用户ID},  //操作数据state: { user_id: '' },// //保存数据getters: {}//计算}//班级模块
const classList =
{namespaced: true,//开启命名空间  true开启才可以怎样获取数据   ...mapState('classList',['方法名','方法名'])actions: {},  //获取数据 如发起请求等mutations: {},  //操作数据state: { class_id: '' },// //保存数据getters: {}//计算}export default new Vuex.Store({modules: { userMsg: userList, classMsg: classList }//获取userList需要从userMsg获取
})
import { mapState,mapMutations,mapActions } from 'vuex';

写入数据

 <button @click="getUserId('dpc520')"></button><!--使用map必须使用这种方法传值-->
 ...mapMutations('userMsg',['getUserId'])

读取数据

<h1>{{ user_id }}</h1>
computed: {...mapState('userMsg', ['user_id'])//第一个参数表示从vuex里的userMsg对象获取state的user_id值}

模块化原始方法 commit getters

commit

模块化使用原始方法赋值需要这样写

   <button @click="test()">原始赋值</button>

区别终于 / 号

 test() {
this.$store.commit('userMsg/getUserId', '123')}

getters

this.$store.getters['xxx/xxx']
http://www.lryc.cn/news/220884.html

相关文章:

  • 消费者忠诚度研究:群狼调研帮您制定忠诚客户计划
  • 接口幂等性详解
  • Java操作redis常见类型数据存储
  • 【深度学习】pytorch——Autograd
  • 【ARM 安全系列介绍 1 -- 奇偶校验与海明码校验详细介绍】
  • 分享34个发布商会PPT,总有一款适合您
  • 047_第三代软件开发-日志分离
  • ChinaSoft 论坛巡礼 | 系统与网络安全论坛
  • Ubuntu Gitlab安javascript:void(‘numberedlist‘)装
  • 11.4-GPT4AllTools版本已开始对小部分GPT3.5用户内测推送
  • 竞赛选题 深度学习手势检测与识别算法 - opencv python
  • 语言模型AI——聊聊GPT使用情形与影响
  • 浅谈事件冒泡和事件捕获
  • CSS 背景、文本、字体
  • 爬取Elastic Stack采集的Nginx内容
  • python 机器学习 常用函数
  • 手写操作系统篇:环境配置
  • 地理信息系统原理-空间数据结构(7)
  • 三国志14信息查询小程序(历史武将信息一览)制作更新过程03-主要页面的设计
  • 学习Opencv(蝴蝶书/C++)相关——2.用clang++或g++命令行编译程序
  • 【Unity细节】VS不能附加到Unity程序中解决方法大全
  • 线上 kafka rebalance 解决
  • [100天算法】-第一个错误的版本(day 62)
  • React 学习系列: 类组件生命周期方法
  • Flume从入门到精通一站式学习笔记
  • Python150题day08
  • 正则表达式的修饰符
  • 从行车记录仪恢复已删除/丢失视频的方法
  • TypeScript_抓取酒店价格数据
  • vue前端实现多个url下载并合并为zip文件