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

  • mp288显示e03通病

    mp288显示e03通病

  • 交易猫ios下载不了(交易猫ios下载安装不了)

    交易猫ios下载不了(交易猫ios下载安装不了)

  • airpodspro怎么充电(airpodspro怎么充电指示灯不亮)

    airpodspro怎么充电(airpodspro怎么充电指示灯不亮)

  • 佳能相机无法创建文件夹(佳能相机无法创建镜头)

    佳能相机无法创建文件夹(佳能相机无法创建镜头)

  • 苹果录屏会把外界声音录进去吗(iphone录屏会不会录外面的声音)

    苹果录屏会把外界声音录进去吗(iphone录屏会不会录外面的声音)

  • 红米10x什么时候发布(红米10x参数)

    红米10x什么时候发布(红米10x参数)

  • iqoo手机发烫怎么解决(iqooz1手机发热)

    iqoo手机发烫怎么解决(iqooz1手机发热)

  • iphone屏幕左侧阴影竖线(iphone屏幕左侧阴影竖线从来没有更新过)

    iphone屏幕左侧阴影竖线(iphone屏幕左侧阴影竖线从来没有更新过)

  • soul的匹配度会随着聊天增加吗(soul的匹配度会到100吗)

    soul的匹配度会随着聊天增加吗(soul的匹配度会到100吗)

  • 小米10青春和小米10区别(小米10青春和小米8)

    小米10青春和小米10区别(小米10青春和小米8)

  • 5s和6s区别(5s和6哪个好)

    5s和6s区别(5s和6哪个好)

  • 微信扫码支付却没到账(微信扫码支付却不能支付)

    微信扫码支付却没到账(微信扫码支付却不能支付)

  • 笔记本电脑可以用手机流量上网吗(笔记本电脑可以换cpu吗?)

    笔记本电脑可以用手机流量上网吗(笔记本电脑可以换cpu吗?)

  • 快看点能提现吗(快看点能提现吗怎么提现)

    快看点能提现吗(快看点能提现吗怎么提现)

  • 华为freebuds3骨声纹怎么使用(华为freebuds3骨声纹支持手机型号)

    华为freebuds3骨声纹怎么使用(华为freebuds3骨声纹支持手机型号)

  • 骑手能看到顾客差评吗(骑手能看到顾客的哪些信息)

    骑手能看到顾客差评吗(骑手能看到顾客的哪些信息)

  • 手机忽略车载蓝牙怎么恢复(手机忽略车载蓝牙后搜索不到了)

    手机忽略车载蓝牙怎么恢复(手机忽略车载蓝牙后搜索不到了)

  • 手机突然声音变小了怎么回事(手机突然声音变沙哑了又小了是什么回事)

    手机突然声音变小了怎么回事(手机突然声音变沙哑了又小了是什么回事)

  • 苹果扩容有没有影响(苹果扩容有风险吗?)

    苹果扩容有没有影响(苹果扩容有风险吗?)

  • 朋友圈小人可以删除吗(朋友圈小人可以点赞吗)

    朋友圈小人可以删除吗(朋友圈小人可以点赞吗)

  • 互联网sp和ssp什么意思(互联网 sp ssp)

    互联网sp和ssp什么意思(互联网 sp ssp)

  • 淘宝如何3秒内完成付款(淘宝如何3秒内发货)

    淘宝如何3秒内完成付款(淘宝如何3秒内发货)

  • 知道姓名怎么查手机号(知道姓名怎么查住址)

    知道姓名怎么查手机号(知道姓名怎么查住址)

  • 苹果扩内存对手机有什么影响(苹果扩内存对手机有用吗)

    苹果扩内存对手机有什么影响(苹果扩内存对手机有用吗)

  • 如何把微信好友移到另一个微信(如何把微信好友拉黑)

    如何把微信好友移到另一个微信(如何把微信好友拉黑)

  • 芒果tv如何更改绑定手机号(芒果tv如何更改密码)

    芒果tv如何更改绑定手机号(芒果tv如何更改密码)

  • 暴风影音如何加速播放(暴风影音如何加载字幕)

    暴风影音如何加速播放(暴风影音如何加载字幕)

  • python __init__()的使用注意(python里面init)

    python __init__()的使用注意(python里面init)

  • 个体工商户的报税流程
  • 印花税不通过税金及附加核算
  • 公司会计制度由小企业会计准则改为企业会计准则怎么做
  • 平价转让股权个税申报表填写
  • 工程款转账一般要多久
  • 建筑业未开票收入销项税
  • 非营利组织取得稳岗补贴收入要交税吗
  • 开错的发票正常入账吗
  • 增值税发票有哪些类型
  • 未取得发票怎么做纳税调增操作
  • 酒店优惠券财务如何记账?
  • 公司零税收申报
  • 其他资金账簿和资产账簿
  • 债权转让的方式有哪几种
  • 代理进口业务受托方账务处理流程
  • mac系统小技巧
  • 坏账核销后又收回的,增加坏账准备,并转入当期损益
  • 工会经费缴纳比例是哪里规定的
  • 发生固定资产了怎么做账
  • 买点肥料
  • PHP:xml_set_default_handler()的用法_XML解析器函数
  • php技巧
  • tracert命令的作用及用法
  • 赡养老人支出如果有四个子女都要填吗
  • 税款滞纳金会计科目
  • vue trim
  • 计提坏账准备的方法有哪些
  • 流转税政策
  • 预付款开票税务问题怎么解决
  • wordpress文章编辑
  • 核心概念英文翻译
  • php合并数组的方法
  • node express安装
  • 计算机视觉项目论文
  • php简单获取网站的方法
  • php中的强制类型转换函数有哪些?
  • phpcms程序
  • 不具备独立核算条件的行政单位
  • 建筑业成本核算流程
  • 政府的资本性投入需要交印花税吗
  • 土增尾盘销售应该如何申报收入
  • 增值税税务检查
  • sqlserver有实例吗
  • 转让财产损失是什么科目
  • 资本化费用为什么会减少
  • 利润表的期末余额怎么算出来的
  • 住宿发票丢失
  • 进口增值税已抵进项税额
  • 房屋租赁费计入什么会计科目
  • 对于银行已入账企业未入账的未达账项应该
  • 资本公积可以随便增加吗
  • 制造费用和管理费用怎么结转
  • 事业单位工会经费不足怎么办
  • 结转成本的方法有几种
  • 新公司内账怎么做
  • 机票行程单可以抵扣进项税吗?
  • 会计账簿按外表可分为
  • win7系统不能修改
  • Win7系统如何开启移动到文件夹选项
  • windowsxp回收站实际是
  • win7系统安装教程不用u盘
  • win10升级准备就绪需要多久
  • win10每周更新
  • 简单谈谈对中国电信的认识
  • 细说javascript
  • js动态改变div内容
  • android的消息机制
  • nodejs inspect
  • [置顶]星陨计划
  • python 字典的字典
  • css弹性布局是什么
  • js回调函数应用场景
  • 湖南税务局发票查询
  • 山东省国税局领导分工
  • 不予处理的法律依据
  • 太原市小店区电影院营业时间
  • 网上怎么开电子一票通
  • 暂估收入入账冲回如何会计分录
  • 国地税合并6月15日挂牌
  • 地税可以跨区交吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设