位置: IT常识 - 正文

【vue】vuex中modules的基本用法(vuex model)

编辑:rootadmin
【vue】vuex中modules的基本用法

推荐整理分享【vue】vuex中modules的基本用法(vuex model),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue modal,vuex moudle,vue module,vuex model,vuex moudle,vuex中的module,vuex moudles,vuex moudles,内容如对您有帮助,希望把文章链接给更多的朋友!

1,什么时候用modules

由于使用单一状态树,应用的所有状态会集中到一个比较大的对象。当应用变得非常复杂时,store 对象就有可能变得相当臃肿。 为了解决以上问题,Vuex 允许我们将 store 分割成模块(module)。每个模块拥有自己的 state、mutation、action、getter、甚至是嵌套子模块——从上至下进行同样方式的分割 在模块中使用:namespaced: true, 命名空间,添加之后,当前模块下的标识符可以和其它模块相同,用于解决不同模块的命名冲突问题

2,store文件结构

3.1 index.js中手动引入modules

import Vue from 'vue'import Vuex from 'vuex'import bus from './modules/bus'import app from './modules/app'const path = require('path')Vue.use(Vuex)let store = new Vuex.Store({ state: { }, mutations: { }, actions: { }, modules: { namespaced: true, app, bus }});export default store

3.2 index.js 中动态引入modules

import Vue from 'vue'import Vuex from 'vuex'const path = require('path')Vue.use(Vuex)const files = require.context('./modules', false, /\.js$/)let modules = {}files.keys().forEach(key => { let name = path.basename(key, '.js') modules[name] = files(key).default || files(key)})let store = new Vuex.Store({ state: { }, mutations: { }, actions: { }, modules});export default store

4,app.js 文件中代码

let user = { namespaced: true, state: {}, mutations: { setUser(state, val) { state.user = val; } }, getters: {}, actions: { setName(state, val) { return new Promise(resolve => { setTimeout(function () { state.user = val; resolve(state.user); }, 2000) }) } }}export default user;

 5,配置main.js,挂载store

new Vue({ el: '#app', router, store, components: { App: App }, template: '<App/>'})【vue】vuex中modules的基本用法(vuex model)

6,vue中使用

// commit 执行mutations里的方法,同步操作 this.$store.commit('app/setUser', {name: '张三'}); console.log(this.user.name); // dispatch 执行actions里的方法,异步操作 this.$store.dispatch('app/setName', {name: '李四'}).then(res => { console.log(res.name); })

7,js中使用

// 引入 这里的store 就相当于页面中的 this.$storeimport store from '@/store'export const setCurUser = (user) => { let curUser = store.app.user if(!curUser) { store.commit("app/setUser", user) return user } return curUser}

注意:

1,vue和vuex的版本搭配

vue2使用vuex3;vue3使用vuex4. 否则会出现this.$store为undefined错误

延伸:

1,vuex的五种状态 state、getter、mutation、action、module

state:所有共享数据统一放到state中,与data类似

mutation: 类似于事件,用于改变状态

action: 和mutation相似,但是action是异步操作

getter: 类似vue中的computed,进行缓存,形成新的数据

modules: 分模块,大型项目一个对象管理会很臃肿

本文链接地址:https://www.jiuchutong.com/zhishi/292954.html 转载请保留说明!

上一篇:五-2、vue中引用文件路径问题(vue引用类型)

下一篇:【uniapp】 的事件处理详解(uniapp实战)

  • 三星展示了其 200MP 相机传感器能够打印大量照片(三星的显示)

    三星展示了其 200MP 相机传感器能够打印大量照片(三星的显示)

  • 荣耀magic3怎么设置护眼模式(荣耀magic3怎么设置微信密码)

    荣耀magic3怎么设置护眼模式(荣耀magic3怎么设置微信密码)

  • 计算机各种部件相互连接的纽带和桥梁是什么(计算机各种部件相互)

    计算机各种部件相互连接的纽带和桥梁是什么(计算机各种部件相互)

  • 淘宝下架的商品会发货吗(淘宝下架的商品能退货吗)

    淘宝下架的商品会发货吗(淘宝下架的商品能退货吗)

  • qq邮箱保存的文件在哪里(qq邮箱保存的文件 导出在哪里)

    qq邮箱保存的文件在哪里(qq邮箱保存的文件 导出在哪里)

  • mac电池循环次数(mac电池循环次数26次是使用了多久)

    mac电池循环次数(mac电池循环次数26次是使用了多久)

  • hdd led怎么插(hdd_led)

    hdd led怎么插(hdd_led)

  • 微信群怎么查看群号码(微信群怎么查看一个人发的信息)

    微信群怎么查看群号码(微信群怎么查看一个人发的信息)

  • 小米平板网速慢(小米平板网速慢怎么回事)

    小米平板网速慢(小米平板网速慢怎么回事)

  • 华为平板m5怎么分屏(华为平板M5怎么分屏一半一半)

    华为平板m5怎么分屏(华为平板M5怎么分屏一半一半)

  • 华为nova5取卡孔是哪个(华为nova5取卡孔两个孔)

    华为nova5取卡孔是哪个(华为nova5取卡孔两个孔)

  • 小米9pro怎么进入恢复模式(小米9Pro怎么进入超广角)

    小米9pro怎么进入恢复模式(小米9Pro怎么进入超广角)

  • qq会员铭牌怎么更换(qq会员铭牌怎么隐藏)

    qq会员铭牌怎么更换(qq会员铭牌怎么隐藏)

  • ipad没发票可以保修吗(买ipad没有发票可以保修吗)

    ipad没发票可以保修吗(买ipad没有发票可以保修吗)

  • 勿扰模式微信电话会响吗(勿扰模式微信电话会被挂断吗)

    勿扰模式微信电话会响吗(勿扰模式微信电话会被挂断吗)

  • 什么叫应用场景(应用场景解决方案是什么意思)

    什么叫应用场景(应用场景解决方案是什么意思)

  • 旁轴相机和单反的区别(旁轴相机和单反相机哪个适合拍人)

    旁轴相机和单反的区别(旁轴相机和单反相机哪个适合拍人)

  • lapbook中文是什么意思(labbook是什么意思中文)

    lapbook中文是什么意思(labbook是什么意思中文)

  • 移动卡停机多久消号(手机卡放手机里无服务是怎么回事)

    移动卡停机多久消号(手机卡放手机里无服务是怎么回事)

  • tcpudp区别是什么(tcpipudp区别)

    tcpudp区别是什么(tcpipudp区别)

  • vivoz5x上市时间(vivoz5x什么时候发布的)

    vivoz5x上市时间(vivoz5x什么时候发布的)

  • 华为m6电脑模式在哪里(华为m6电脑模式怎么放大窗口)

    华为m6电脑模式在哪里(华为m6电脑模式怎么放大窗口)

  • 小米手环4怎么设置音乐(小米手环4怎么连接)

    小米手环4怎么设置音乐(小米手环4怎么连接)

  • ddub一al20是什么型号(dub一alo0a)

    ddub一al20是什么型号(dub一alo0a)

  • xr有红外线吗(xr手机有红外线吗)

    xr有红外线吗(xr手机有红外线吗)

  • 键盘驱动怎么修复(键盘驱动坏了怎么重装系统)

    键盘驱动怎么修复(键盘驱动坏了怎么重装系统)

  • 出口企业税负率计算公式
  • 垃圾处理费怎么算
  • 网上申领发票收到后需要怎么操作
  • 其他应收款如何清理
  • 购货方收到红字发票
  • 税务局代个人开发票交什么税
  • 固定资产处置残值收入要纳税
  • 劳务公司开票税收分类
  • 财付通转账手续费多少
  • 复利现值是什么意思
  • 职员在外地出差怎么处理
  • 上月增值税未申报本月能开票吗
  • 在建工程完工验收报告
  • 发票虚开税务局要求补税怎么办?
  • 土地使用税怎么征收标准
  • 企业所得税汇算交所得税如何做账务处理
  • 通用申报表个人所得税应税项怎么填
  • 税控盘不存在怎么回事
  • 理财赎回本金没赎回利息咋办
  • 结转出租包装物的成本
  • 高温津贴的发放
  • 12月计提税金
  • 企业从境外收回所得税
  • 主营业务成本是借方增加还是贷方增加
  • 冲红发票的会计处理办法
  • 银承到期扣款会计分录
  • 如何修复win11系统
  • vmware怎么安装iso
  • kb4586853 补丁
  • PHP:pg_connection_busy()的用法_PostgreSQL函数
  • 苹果语音备忘录怎么导出
  • 企业内部发生收入怎么算
  • 增值税发票与实际差异五毛钱
  • 个体工商户减免个人所得税政策
  • 太原市插画工作室
  • MySQL高级查询
  • bootstrap 栅格
  • package.json详解
  • Python人脸识别智能考勤系统 (供源码,附报告)(可答疑,可调试)
  • 微软 new bing 广告收入
  • 纳税人在电子税务局收到优惠政策
  • 电子专用发票抵扣
  • python包发布
  • 帝国cms自动推送插件
  • 餐饮行业经营模式有哪些
  • 零售行业bi
  • 三代手续费支付申请表怎么填
  • 纳税申报表上的销售额
  • mongodb mysql配合使用
  • 固定资产折旧加计扣除最新政策
  • 什么情况填an
  • 哪些原始凭证要盖章
  • 社保应该如何缴纳
  • 商业承兑汇票怎么贴现
  • 哪些费用计入管理费用开办费
  • 如何判定专利是否侵权
  • 销售货物并提供安装服务是混合销售吗
  • 固定资产递延资产
  • 业务招待费进项票可以抵扣吗
  • 电子设备按5年折旧可以吗?
  • 应收账款是哪个会计科目
  • windows server vista
  • linux系统文件压缩命令
  • mac系统教程
  • win7系统的磁盘管理在哪里,怎么打开
  • win10右下角的图标点不开
  • spes监控原理
  • unity3d怎么用
  • OpenCV-2.4.3+VS2010+Win7(32位)安装与配置
  • jqueryfind
  • javascript HTML5文件上传FileReader API
  • 粒子form
  • unity3d速成
  • unity3d总结
  • js获取对象key的方式有哪些
  • python科学计算程序
  • javascript基于什么的语言
  • delphi7教程
  • 安卓点赞脚本
  • 安徽省印花税核定
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设