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

  • 注册资本没有到位可以注销吗
  • 进项税额转出的几种情况会计分录
  • 企业增资会计处理流程
  • 邀请客户参加公司会议
  • 一般纳税人废业怎么办
  • 红字发票和蓝字一样吗
  • 预付加油卡发票可以报销吗
  • 居民企业股权转让所得
  • 提供应税服务的企业
  • 机场工作人员的家属票
  • 调整凭证分录
  • 不能税前扣除的费用有哪些
  • 商品进销差价是资产类账户,其抵减的账户是
  • 购入的苗木种植一段时间后再销售要交增值税吗?
  • 海关特许权使用费 公告
  • 新成立的公司季报
  • 个人独资企业对公账户转个人账户
  • 纳税期限变更需要什么
  • 代开专票名称没有填写可以报销吗
  • 年报企业控股情况怎么填
  • 季度所得税缴纳时间规定
  • php 链式调用
  • 修改系统帐户用什么软件
  • 现行预计负债的计算公式
  • 逾期未收回包装物押金税率
  • php数组实现原理
  • 安装win7提示版本过低
  • php __invoke
  • 用盈余公积弥补以前年度亏损
  • 企业所得税季度预缴是什么意思
  • 企业负担的社保怎么做分录
  • framework启动
  • 用友软件怎么删除已经建立的账套
  • 败诉方承担诉讼费缴直接付给法院还是胜诉方
  • 个税申报系统操作指南
  • 微信小程序设计规范(官方)文档
  • 超像素和markpage的区别
  • 抄税的步骤
  • 个税手续费会计分录
  • 结转成本费用的会计分录是什么?
  • 房地产开发企业会计制度
  • 织梦cms要钱吗
  • 付了两次运费发了一个包裹
  • 通过集中竞价交易减持
  • 记账凭证去根据什么填制
  • 转租行为的税务处理方法
  • 开具发票要注意的方面是有哪些?
  • 公账转法人私账用途写备用金可以吗
  • 土地出让金如何缴纳
  • 建设期利息有哪些
  • 小规模企业应交税费分录
  • 公路工程投标保证金
  • 买材料含税价怎么算
  • 期末账面余额是什么意思
  • 苗木免税发票可以开专票吗
  • 房地产开发企业资质管理规定
  • sql做判断
  • 线上MYSQL同步报错故障处理方法总结(必看篇)
  • mysql分页实现
  • 哪个是win8.1更新win10的补丁
  • win8语言栏不见了 怎么调出来
  • windows server 2003与2008的区别联系与选择指南
  • windowsserver2008r2忘记开机密码怎么办
  • task host windows解决
  • win7和vista的区别
  • mac修改java版本
  • win7系统防火墙无法关闭
  • win8的应用商店
  • win8能装pr2017吗
  • linux如何限制指定ip访问
  • javascript that
  • shell脚本读取ini文件
  • 常用正则表达式汇总
  • shell中setenv
  • 甘肃国家税务局兰州专用章图片
  • 四川省地方税务局
  • 扣税1.5万
  • 怎么屏蔽微信群消息,但是不退出此群
  • 税务局残保金征收工作汇报
  • 冀地是哪里
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设