Vuex-modules的使用
一、什么是modules?
modules是模块的意思。
为什么要在vuex中使用模块呢?
- Vue使用单一状态树,那么也意味着很多状态都会交给Vuex来管理。
- 当应用变得非常复杂时,store对象就有可能变得相当臃肿。
- 所以vuex允许我们将store分割成模块(modules),而每个模块拥有自己的state、mutations、actions、getters等
就像下面这个意思:
modules:{moduA:{state:{},mutations:{},actions:{},getters:{}}
}
当然了,如果要划分的清晰一点,可以这样做:(在store文件夹下的index.js中)
//创建对象
const moduleA = {state:{name:'aaa'},mutations:{updateName(state,payload){state.name = payload}},actions:{},//第一个参数是state,第二个是getters,第三个是根rootstategetters:{jianame(state){return state.name+'1111'},jianame2(state,getters){return getters.jianame +'222'},jianame3(state,getters,rootstate){return getters.jianame2 + rootstate.counter}}
}
const store = new Vuex.store({state:{counter:'hhhh'},mutations:{},actions:{},getters:{}modules:{a:moduleA
}
})
在使用的组件中:
<template><h3>{{$store.state.a.name}}</h3><h2>{{$store.getters.jianame}}</h2><h2>{{$store.getters.jianame1}}</h2><h2>{{$store.getters.jianame3}}</h2><button @click='Updatename'>修改信息</button>
</template>
<script>export default{name:'app',methods:{Updataname(){this.$store.commit('updateName','bbb')}}}
</script>
commit提交的内容会先去store中的mutations中找,找不到再到模块中去找。定义函数的时候最好不要同名!
modules里的getters可以像上面那样去使用
Vuex-modules的使用相关推荐
- vuex modules ajax,VUE项目爬坑---6、vuex的真正存在的意义是什么
VUE项目爬坑---6.vuex的真正存在的意义是什么 一.总结 一句话总结: a.[避免低效的数据传递]:当多个组件嵌套的时候,只能父子传递,那么中间的组件只能做传递数据之用,数据不是它用,它却传递 ...
- vuex modules 命名空间
主要为了分清每个模块相同名称的方法 用法:export default {namespaced: true,} 分清模块:导入/方法 转载于:https://www.cnblogs.com/wly- ...
- 使用vuejs 2.x (不是nuxt) 做个demo: 使用 vuex, router ( store, action , mutation)
使用命令创建项目 根据图片提示选择需要的内容,选择vuex router 按空格进行多选 vue create vuex1 cd vuex1 yarn serve 假设,我们有两个页面: " ...
- vuex 配置使用解析 mutations响应式规则 Vue.delete/set 目录划分
文章目录 用处 解析 结构 单一状态树 state getters使用 mutations mutations 提交风格 mutations 响应规则 mutations 常量类型 名称使用常量 mu ...
- Vuex 终极秘籍总结
Vuex 终极秘籍总结 一.什么是Vuex Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式 + 库.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发 ...
- 使用Vue构建中(大)型应用
想做SPA就快上车! init 首先要起一个项目,推荐用vue-cli安装 $ npm install -g vue-cli $ vue init webpack demo $ cd demo $ n ...
- require.context
带表达式的 require 语句 如果你的 require参数含有表达式(expressions),会创建一个上下文(context),因为在编译时(compile time)并不清楚具体是哪一个模块 ...
- axios传数组到后台_我是如何让公司后台管理系统焕然一新的
作者:yeyan1996 https://juejin.im/post/5c76843af265da2ddd4a6dd0 写在前面 马上到了金三银四的时间,很多公司开启了今年第一轮招聘的热潮,虽说今年 ...
- 前端技巧培训-后台战友快速入门
前端技巧培训-后台战友快速入门 一.工具 webstorm/vscode node环境/npm (一般安装node自带安装npm的) 可以安装淘宝镜像(下载依赖包比较快) node安装教程 淘宝镜像安 ...
- 我是如何让公司后台管理系统焕然一新的(上) -性能优化
在这个项目中你有遇到什么技术难点,你是怎么解决的? 其实这个问题旨在了解你在遇到问题的时候的解决方法,毕竟现在前端技术领域广,各种框架和组件库层出不穷,而业务需求上有时纷繁复杂,观察一个程序员在面对未 ...
最新文章
- Oracle 存储过程之通用分页查询
- IE弹出窗口显示URL地址栏
- goto是python的保留字吗,基于python goto的正确用法说明
- java线程代码实现_Java 多线程代码实现讲解
- LeetCode笔记】剑指 Offer 35. 复杂链表的复制(Java、哈希表、原地算法)
- 把exe里面的资源通通取出来
- 关于go语言的测试相关内容笔记
- 单片机4层电梯设计c语言,详解基于单片机的四层电梯控制系统的设计与实现,Proteus仿真和程序代码...
- 计算机文化基础考试 名词解释,《计算机文化基础》模拟试卷.doc
- 工程伦理网课问答讨论整理
- sai厚涂上色教程,sai厚涂绘画人物上色教程!
- 做一名有幸福感的计算机教师,做一名有幸福感的教师其实很简单
- 北京航空大学计算机录取分数线,北京航空航天大学录取分数线2021是多少分(附历年录取分数线)...
- 你的颜值打几分?——基于tensorflow实现人脸打分模型
- 在Java语言的if语句是什么表达式,if语句中的条件表达式中只能使用
- STM32F103C8T6 0.42寸的OLED屏幕IIC例程
- 程序员用300行代码,让外婆实现语音搜索购物
- linux 操作系统root账号被锁定的两种解决方法
- 1、fluentd安装
- win10如何开放端口
热门文章
- “复制粘贴”人类大脑到 3D 芯片网络?三星哈佛强强联手中!
- mybatis中的参数传递以及使用pagehelper进行分页
- 用netbeans ide打开java文件一片空白怎么办?
- 实现背景透明文字不透明
- 利用命名管道方式使主机与虚拟机的串口通讯
- 【Python机器学习】零基础掌握MultiOutputRegressor多输出
- 2022年安全生产监管人员考试练习题及答案
- 【java官网jdk8-jdk18各版本下载Oracel】
- Python后端Flask学习项目实践---搭建一个问答网站
- 数据结构之线性表(九)——线性表的应用