位置: 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实战)

  • iphone13怎么关机(iphone13怎么关机和重启手机)

    iphone13怎么关机(iphone13怎么关机和重启手机)

  • 智学网在线考试有监控吗(智学网在线考试在哪)

    智学网在线考试有监控吗(智学网在线考试在哪)

  • 畅享10plus摄像头是怎么升降(畅享10plus摄像头怎么不升降)

    畅享10plus摄像头是怎么升降(畅享10plus摄像头怎么不升降)

  • 华为MRXw09和w19区别(华为平板mrxw09和w19区别)

    华为MRXw09和w19区别(华为平板mrxw09和w19区别)

  • 三星手机安全模式怎么解除(三星手机安全模式怎么切换到正常模式)

    三星手机安全模式怎么解除(三星手机安全模式怎么切换到正常模式)

  • 什么是朋友圈(什么是朋友圈营销)

    什么是朋友圈(什么是朋友圈营销)

  • 华为手机指纹怎么变彩色(华为手机指纹怎么打开)

    华为手机指纹怎么变彩色(华为手机指纹怎么打开)

  • 华为账号登录有什么好处(华为账号登录有没有风险提示)

    华为账号登录有什么好处(华为账号登录有没有风险提示)

  • ipad港版和国行的区别(ipad港版和国行的设置区别)

    ipad港版和国行的区别(ipad港版和国行的设置区别)

  • 苹果手机微信怎么下载不了(苹果手机微信怎么双开)

    苹果手机微信怎么下载不了(苹果手机微信怎么双开)

  • 华为荣耀20怎么调节锁屏的时间(华为荣耀20怎么设置指纹解锁)

    华为荣耀20怎么调节锁屏的时间(华为荣耀20怎么设置指纹解锁)

  • 如何改变图片尺寸大小(如何改变图片尺寸和分辨率)

    如何改变图片尺寸大小(如何改变图片尺寸和分辨率)

  • 华为手机怎么删除桌面软件(华为手机怎么删除下载的软件)

    华为手机怎么删除桌面软件(华为手机怎么删除下载的软件)

  • 京东账号忘了怎么处理(京东账号忘了怎么找回换手机号了)

    京东账号忘了怎么处理(京东账号忘了怎么找回换手机号了)

  • qq说说仅自己可见怎么公开(qq说说仅自己可见取消不掉)

    qq说说仅自己可见怎么公开(qq说说仅自己可见取消不掉)

  • 上传视频怎么赚钱(上传视频怎么赚钱手机平台)

    上传视频怎么赚钱(上传视频怎么赚钱手机平台)

  • 手机无法接通是什么原因(手机无法接通的情况)

    手机无法接通是什么原因(手机无法接通的情况)

  • vivo怎么设置拦截(vivo怎么设置拦截骚扰电话)

    vivo怎么设置拦截(vivo怎么设置拦截骚扰电话)

  • 朋友圈可以发多少秒视频(朋友圈可以发多少秒的视频了)

    朋友圈可以发多少秒视频(朋友圈可以发多少秒的视频了)

  • Oppo reno的电池容量是多少(opporeno的电池容量在哪里看)

    Oppo reno的电池容量是多少(opporeno的电池容量在哪里看)

  • 苹果手机右边发烫(苹果手机右边发烫还关机)

    苹果手机右边发烫(苹果手机右边发烫还关机)

  • 最右如何屏蔽私信(最右怎么屏蔽所有人私信)

    最右如何屏蔽私信(最右怎么屏蔽所有人私信)

  • 怎么把快手喜欢的清零(怎么把快手喜欢打开)

    怎么把快手喜欢的清零(怎么把快手喜欢打开)

  • Vue 通过style属性、class属性来动态修改CSS样式(vue style import)

    Vue 通过style属性、class属性来动态修改CSS样式(vue style import)

  • 税务师财务与会计难不难
  • 消费税的会计分局
  • 购买理财产品计入交易性金融资产
  • 利润表的营业成本包括哪些
  • 员工全额承担社保账务怎么做?
  • 代扣个人社保的账务处理
  • 小规模纳税检查怎么做
  • 金融资产的划分标准以及相关的处理怎么做
  • 固定资产缩水
  • 实际收到股票股利的分录
  • 现金股利和股票股利的区别
  • 五险一金账务处理流程图
  • 境内企业得到境外企业的红利是否需要缴纳所得税?
  • 筹备费用怎么扣税的
  • 营改增之后的增值税
  • 卖桶装水税率
  • 外管证开具后如何缴税?
  • 增值税降为13
  • 企业如何实现资源共享
  • 普票开错了能退税吗
  • 股东以股抵债是否合法
  • 当期亏损需要提企业所得税吗财务报表
  • 个税申报成功如何修改
  • 企业所得税季报怎么申报
  • 应收账款结转下年要画红线吗
  • Win11任务栏不显示
  • 房租增值税专用发票税率
  • 装win7ahci
  • 应对怯场的方法
  • wordpress上传文件限制
  • 因汇率变动而导致的损失属于
  • hypergraph learning
  • 微信支付开发需要什么条件
  • 确认收入的五个原则
  • 业务招待费包括哪些内容和费用
  • 绿化公司属于哪个行业
  • 出口报关需要增税吗
  • 主营业务收入和营业外收入的区别
  • 委托加工代收代缴消费税分录
  • mysql5.7压缩包安装配置教程
  • 借条这样写才有效
  • 企业的主要经营指标有哪些
  • 公司性质和单位性质的区别
  • mysql集群配置
  • 增量留抵税额怎么算
  • 企业跨区变更地址迁入地核验码怎么查询
  • 小规模纳税人企业所得税征收标准
  • 没有发票可以先付款吗
  • 员工报销的差旅费会计分录
  • 某首饰商城为增值税一般纳税人,2021年1月发生以下业务
  • 在建工程如何转固
  • 其他货币资金科目主要指
  • 销货清单自己留哪一联
  • 收到投资款证明怎么做账
  • 当月财务费用怎么算
  • 更正申报所得税汇算清缴
  • 已经认证的进项发票在哪里查询
  • 企业的免税收入范围
  • 预付的展会费如何入账
  • 赠送购物券的会计处理
  • 结账时能否用红笔写名字
  • sql数据库压缩能提高性能吗
  • sql查询方法有哪些
  • upgrade.exe - upgrade进程是什么意思
  • windows10预览版是什么
  • linux用户权限管理
  • reminder.exe - reminder是什么进程 有什么用
  • win7 显示日期
  • win7由于所要求的文件丢失或损坏
  • linux的内存
  • win8开机界面
  • linux文件中添加内容
  • jquery链式操作原理
  • andriod 控件
  • android之Java+html+javascript混合开发
  • python用matplot画图
  • android保存网络图片
  • 使用jquery的步骤
  • 重庆国税12366电子税务局官网入口
  • 南京地税局局长名单
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设