nuxt框架中对vuex进行模块化设置的实现方法


Posted in Javascript onSeptember 06, 2019
1.Nuxt里怎么使用vuex?

Nuxt.js 内置引用了 vuex 模块,所以不需要额外安装。

Nuxt.js 会尝试找到应用根目录下的 store 目录,如果该目录存在,它将做以下的事情:
1.1> 引用 vuex 模块
1.2> 将 vuex 模块 加到 vendors 构建配置中去
1.3> 设置 Vue 根实例的 store 配置项

Nuxt.js 支持两种使用 store 的方式:
普通方式: store/index.js 返回一个 Vuex.Store 实例
模块方式: store 目录下的每个.js 文件会被转换成为状态树指定命名的子模块 (当然,index 是根模块)

nuxt框架中对vuex进行模块化设置的实现方法

2.Nuxt中怎么对vuex进行模块化设置?

2.1> 例如 -- 设置index.js为根模块,child1.js与child2.js两个子模块

nuxt框架中对vuex进行模块化设置的实现方法

2.2> 在store/index.js 中不需要返回 Vuex.Store 实例,可以直接将 state、mutations 和 actions 暴露出来:
(以下为例:index中存储商品总价,child1中存储单价,child2中存放数量)

export const state = () =>({
 totalPrice:0,
});
export const mutations = {
 totalPrice (state) { //总价
 // state.totalPrice = state.num*state.price 错误方式:使用子模块的state,应该在变量名前加上文件名,如下
 state.totalPrice = state.child1.price*state.child2.num //正确方式
 }
};

子模块中同样直接将 state、mutations 和 actions 暴露出来:

child1.js1
export const state = () =>({
 price:10, //单价
});
export const mutations = {
 getPrice(state,price) { 
 state.price= price
 }
};
child2.js2
export const state = () =>({
 num:5,
});
export const mutations = {
 getNum(state,num) { //数量
 state.num= num
 }
};
3.在vue文件中获取vuex的数据,调用mutation中的方法修改数据
<script>
export default {
 name : 'test',
 data() {
 return {
 totalPrice:this.$store.state.totalPrice, //取index.js(根模块)中的值
 num:this.$store.state.child2.num,  //取子模块中的值
 price:this.$store.state.child1.price, //取子模块中的值
 }
 },
}
</script>
methods: {
 setTotalPrice(){
 this.$store.commit('totalPrice')
 },
 setNum(){
 this.$store.commit('child2/getNum',参数) //使用子模块的mutation中的方法 this.$store.commit(‘文件名/方法名',参数)
 },
 setPrice(){
 this.$store.commit('child1/getPrice',参数) //使用子模块的mutation中的方法
 },
 },
补充: 使用子模块的action: this.$store.dispatch(‘文件名/变量名')

参考链接:
https://3water.com/article/169502.htm
https://3water.com/article/169504.htm

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript cookie解码函数(兼容ff)
Mar 17 Javascript
js中获取事件对象的方法小结
Mar 13 Javascript
jQuery JSON实现无刷新三级联动实例探讨
May 28 Javascript
jQuery EasyUI datagrid实现本地分页的方法
Feb 13 Javascript
javascript实现Table间隔色以及选择高亮(和动态切换数据)的方法
May 14 Javascript
pace.js页面加载进度条插件
Sep 29 Javascript
bootstrap读书笔记之CSS组件(上)
Oct 17 Javascript
JS中如何实现复选框全选功能
Dec 19 Javascript
EasyUI的TreeGrid的过滤功能的解决思路
Aug 08 Javascript
jQuery简单实现向列表动态添加新元素的方法示例
Dec 25 jQuery
原生js封装的ajax方法示例
Aug 02 Javascript
微信小程序实现上传word、txt、Excel、PPT等文件功能
May 23 Javascript
layui 表格操作列按钮动态显示的实现方法
Sep 06 #Javascript
基于Vue和Element-Ui搭建项目的方法
Sep 06 #Javascript
微信小程序 搜索框组件代码实例
Sep 06 #Javascript
layui加载表格,绑定新增,编辑删除,查看按钮事件的例子
Sep 06 #Javascript
详解webpack打包vue项目之后生成的dist文件该怎么启动运行
Sep 06 #Javascript
jQuery实现每日秒杀商品倒计时功能
Sep 06 #jQuery
vue-cli history模式实现tomcat部署报404的解决方式
Sep 06 #Javascript
You might like
php判断变量类型常用方法
2012/04/24 PHP
PHP中文分词 自动获取关键词介绍
2012/11/13 PHP
thinkphp视图模型查询提示ERR: 1146:Table 'db.pr_order_view' doesn't exist的解决方法
2014/10/30 PHP
Laravel 读取 config 下的数据方法
2019/10/13 PHP
PHP时间相关常用函数用法示例
2020/06/03 PHP
ThinkPHP5.1验证码功能实现的示例代码
2020/06/08 PHP
使用prototype.js进行异步操作
2007/02/07 Javascript
document.all的一个比较完整的总结及案例
2013/01/31 Javascript
JSONP之我见
2015/03/24 Javascript
JS实现仿QQ效果的三级竖向菜单
2015/09/25 Javascript
再谈javascript注入 黑客必备!
2016/09/14 Javascript
关于定制FileField中的上传文件名称问题
2017/08/22 Javascript
iview实现select tree树形下拉框的示例代码
2018/12/21 Javascript
NodeJS模块与ES6模块系统语法及注意点详解
2019/01/04 NodeJs
简谈创建React Component的几种方式
2019/06/15 Javascript
echarts统计x轴区间的数值实例代码详解
2019/07/07 Javascript
vue scroll滚动判断的实现(是否滚动到底部、滚动方向、滚动节流、获取滚动区域dom元素)
2020/06/11 Javascript
详细分析React 表单与事件
2020/07/08 Javascript
Ant Design moment对象和字符串之间的相互转化教程
2020/10/27 Javascript
[48:00]完美世界DOTA2联赛循环赛 Forest vs Inki BO2第二场 11.04
2020/11/04 DOTA
python 生成目录树及显示文件大小的代码
2009/07/23 Python
在Python的Flask框架中使用模版的入门教程
2015/04/20 Python
浅谈python 里面的单下划线与双下划线的区别
2017/12/01 Python
基于python进行桶排序与基数排序的总结
2018/05/29 Python
python 实现目录复制的三种小结
2019/12/04 Python
使用gunicorn部署django项目的问题
2020/12/30 Python
基于Jquery和Css3代码制作可以缩放的搜索框
2015/11/19 HTML / CSS
Surfdome西班牙:世界上最受欢迎的生活方式品牌
2019/02/13 全球购物
澳大利亚珠宝商:Shiels
2019/10/06 全球购物
考试不及格检讨书
2014/01/09 职场文书
18岁生日感言
2014/01/12 职场文书
战友聚会邀请函
2014/01/18 职场文书
高三毕业感言
2015/07/30 职场文书
创业计划书之家政服务
2019/09/18 职场文书
python3读取文件指定行的三种方法
2021/05/24 Python
pandas数值排序的实现实例
2021/07/25 Python