vue —— vuex namespaced模块化编码
在需求过多的时候就会发生在actions mutations state getters 编写代码过多的情况会很混乱,可以把每个需求的代码进行分组 查看时便可根据不同的需求查看。不过在每个需求里还是要配置actions mutations state getters
使用方法
- 在分组时 添加 namespaced: true 开启
- 调用时
- mapState(‘分组名’, [‘属性1’, ‘属性2’, ‘属性3’,……])
- mapGetters(‘分组名’, [‘属性1’, ‘属性2’, ‘属性3’,……])
- mapActions(‘分组名’, [‘方法1’, ‘方法2’, ‘方法3’,……])
- mapMutations(‘分组名’, [‘方法1’, ‘方法2’, ‘方法3’,……])
注意export时使用modules
例如
// 求和相关的配置
const countOptions = {namespaced: true,actions: {jia: function(context,value){console.log('actions中的jia',context,value)context.commit('JIA',value)}},mutations: {JIA(state,value){console.log('mutations中的JIA',state,value)state.sum += value},},state: {sum: 0,school: '学校',subject: '学科',},getters: {bigSum(state){return state.sum*10}}
}
// 创建 暴露 store
export default new Vuex.Store({modules: {countAbout: countOptions,}
})
methods: {...mapActions('countAbout',['jia']),
},
computed:{...mapState('countAbout',['sum','school','subject']),...mapGetters('countAbout',['bigSum']),
}
<h1>{{sum}}</h1>
<h1>{{school}}</h1>
<h1>{{subject}}</h1>
<h3>当前求和放大后为:{{bigSum}}</h3>
<select v-model.number="n"><option value='1'>1</option><option value='2'>2</option><option value='3'>3</option>
</select>
<button @click='jia(n)'>+</button>
不借助map……使用
this.$store.getters[‘分组名/方法名’]——获取getters的数据
this.$store.state.分组名.属性名——获取指定分组下的属性
this.$store.commit(‘分组名/方法名’, ‘参数’)——使用commit下的方法
this.$store.dispatch(‘分组名/方法名’, ‘参数’)——使用dispatch下的方法
vue —— vuex namespaced模块化编码相关推荐
- VUE学习(二十一)、Vuex(getters、mapState与mapGetters、mapMutations与mapActions、多组件共享数据、模块化编码)
VUE学习(二十一).Vuex(getters.mapState与mapGetters.mapMutations与mapActions.多组件共享数据.模块化编码) 一.Vuex普通实现求和案例 演示 ...
- 大型项目实战Vue+Vuex+Koa2+Socket.io+Jssdk联合打造无人点餐系统
课程简介 此套视频教程为2018年推出的,项目使用Vue+Vuex+Koa2+Socket.io+Jssdk+小票打印机打造无人点餐系统,课程视频.课件.源码齐全,手把手教会学员用Vue开发一个颠覆传 ...
- 用Vue3.0+typescript写vuex的模块化拆分
用Vue3.0+typescript写vuex的模块化拆分 最近自己学习了下vue3.0+ts,在vuex这一块遇到些问题记录一下 以下代码中的写法请参考官方vuex文档: https://next. ...
- 基于Vue, Vuex 和 ElementUI 构建轻量单页Hexo主题Lite
Hexo Theme Lite Keep Calm, Lite and Writing. light single page blog application theme, using Vue, Vu ...
- vue vuex vue-router后台项目——权限路由(超详细简单版)
项目地址:vue-simple-template 共三个角色:adan barbara carrie 密码全是:123456 adan 拥有 最高权限A 他可以看到 red , yellow 和 bl ...
- 记录一下使用vue/vuex+SSR框架遇到的bug
项目框架:vue+vuex+vue-server-render 问题描述:页面中有个区块通过state.jkyl (JSON Object)来控制是否需要显示,页面未登录前jkyl的数据是为空的,待登 ...
- Vue Vuex的详细教程
Vue Vuex的详细教程 Vuex 是什么? Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变 ...
- Vue中CSS模块化最佳实践
Vue风格指南中介绍了单文件组件中的Style是必须要有作用域的,否则组件之间可能相互影响,造成难以调试. 在Vue Loader Scope CSS和Vue Loader CSS Modules两节 ...
- Vue+Vuex+Axios+ECharts 画一个动态更新的中国地图
一.生成项目及安装插件 # 安装 Vue Cli npm install vue-cli -g# 初始化项目 vue init webpack vue-china-map# 切到目录下 cd vue- ...
最新文章
- Python控制结构总结
- Android Apk增量更新
- python 单例模式内存泄露_彻底搞懂Java内存泄露
- Redis基础知识之————如何处理客户端连接
- java.lang.math.abs_java.lang.StrictMath.abs(int a)方法实例
- 【报告分享】中国“新基建”发展研究报告.pdf(附下载链接)
- 当自己颓废的时候怎么激励自己?深度好文!!!
- 蓝桥杯笔记:(给的元素不重复)求全排列(排列不可重复,排列可重复)
- ETC passwd 用户和组管理
- oracle两表,有什么方法对Oracle两张表的数据比较呢?
- KEIL中加入GD设备文件
- php 打开模态框,模态框打开页面
- 贝壳找房APP安装包瘦身
- 双目立体视觉 II:块匹配视差图计算
- 无分类编址CIDR(构造超网)
- noip2015day1
- java判断时间段是否交叉重叠
- SecureCRT常用文件操作命令
- SiC MOSFET驱动电压的分析
- Java发送QQ邮件问题Could not connect to SMTP host: smtp.qq.com, port: 465(内附完整代码)
热门文章
- 第十周 11.1-11.7
- (ヒトコト)一个挺有趣的东西!作为一个动漫宅,游戏宅来说还是一个挺有趣的接口!banner上面就是...
- 使用Task简化Silverlight调用Wcf
- 浦发银行出现:部件'InstallCertListAx.ocx'或其附件之一不能正确注册:一个文件丢失 解决...
- 如何在hexo中支持Mathjax
- [Node.js] 模块化 -- http服务器模块
- JavaScript 数组和对象
- Tips--开源心音数据库整理(我愿称之为史上最全)
- 基于meanshift的手势跟踪与电脑鼠标控制(手势交互系统)
- C++ int型与char型辨析