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

  • 车辆购置税退税申请模板
  • 税务是怎么回事
  • 房地产企业实收资本要求
  • 采用直接转销法会在一定程度上高估了应收款项
  • 企业所得税几大税种
  • 法人私户转公户怎么操作
  • 营业费用和营业收入的关系
  • 其他权益投资公允价值变动怎么计量
  • 金税平台开具增值税发票
  • 凭证日期小于当前会计期啥意思
  • 非财政拨款结余是什么科目
  • 1元换购怎么做账
  • 增值税留抵还需要交税吗
  • 农产品初加工免征企业所得税
  • 发票勾选可以勾选几次
  • 个体户地税怎么收费
  • 商品折扣与折让属于销售费用吗
  • 挂靠的工程个人所得税怎么交?
  • 教育费附加免征还计提吗
  • 信用卡购物消费怎么算
  • 预提费用的会计分录2018
  • 施工成本科目
  • cmos电池耗尽
  • 宏基笔记本电脑售后电话
  • 利得和损失计入哪里
  • 电力安装有前途吗
  • mac如何改变照片图库
  • OS X Yosemite系统怎么制作u盘安装盘
  • 在企业所得税前扣除的有哪些
  • 未售车位出租有哪些税要缴纳
  • linux操作系统为用户提供的接口为
  • php设计模型
  • 搬迁补偿费如何做账
  • cpqeadm.exe是什么进程 可以关闭吗 cpqeadm进程查询
  • 个人所得税的征收模式为()A分类征收B综合征收C
  • 经营租入的设备为什么不属于资产
  • 结转本月完工产品的成本
  • 启动电容坏了的表现
  • vuewatch监听对象及对应值的变化
  • 接受捐赠的增值税要交企业所得税吗
  • 备用金支出没有发票怎么办
  • 花卉苗木栽培技术
  • 申请个人所得税
  • this.emit('input')
  • 网络安全网页设计作品构思
  • transformer for
  • java enum tostring
  • 研发费用加计扣除的条件
  • 个税借方的含义
  • sql数据库移动
  • 物流公司进项包括什么
  • 仓库出入库账本怎么做
  • 转让不动产与销售不符
  • 公司固定资产抵押贷款无法偿还
  • 租赁公司租赁物计入什么会计科目
  • 银行代发的工资公司要求返还然后发一半
  • 补缴以前年度所得税及滞纳金账务处理
  • 事业单位调整以前年度的费用
  • 发行价格另支付发行费用
  • 计提有哪些科目
  • 成本核算的内容有哪几个方面
  • 定期存款到期转存利息也转存吗
  • 主营业务利润率反映了企业的什么能力
  • 依法建账的法是指
  • win7系统怎么关闭病毒防护
  • Windows Server 2008故障转移群集简介
  • os x10.11el capitan beta4更新了什么?os x10.11el capitan beta4下载地址
  • mac安装应用一般放在哪个目录下
  • ssh进入
  • 在mac中该如何共享文件夹
  • 如何解决windows无法访问指定设备
  • iwatch命名
  • win7任务栏突然变成灰色
  • Cocos2dx3.2 Crazy Tetris 基本设置及主菜单页面(菜单、按钮)
  • linux安装unixodbc
  • jquery layer
  • dos批命令
  • unity ulua
  • 网页过关类游戏
  • 内蒙古国税局官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设