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 相关文章推荐
js下利用控制器载入对应脚本
Jul 17 Javascript
使用jquery mobile做幻灯播放效果实现步骤
Jan 04 Javascript
jQuery实现 注册时选择阅读条款 左右移动
Apr 11 Javascript
JQuery页面图片切换和新闻列表滚动效果的具体实现
Sep 26 Javascript
js生成随机数的过程解析
Nov 24 Javascript
基于bootstrap实现广告轮播带图片和文字效果
Jul 22 Javascript
JS实现css hover操作的方法示例
Apr 07 Javascript
收集前端面试题之url、href、src
Mar 22 Javascript
对angular4子路由&amp;辅助路由详解
Oct 09 Javascript
详解使用Nuxt.js快速搭建服务端渲染(SSR)应用
Mar 13 Javascript
使用layer.msg 时间设置不起作用的解决方法
Sep 12 Javascript
vue中上传视频或图片或图片和文字一起到后端的解决方法
Dec 01 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
《斗罗大陆》六翼天使武魂最强,为什么老千家不是上三宗?
2020/03/02 国漫
PHP自定session保存路径及删除、注销与写入的方法
2014/11/18 PHP
PHP register_shutdown_function()函数的使用示例
2015/06/23 PHP
jQuery 入门级学习笔记及源码
2010/01/22 Javascript
jQuery boxy弹出层插件中文演示及使用讲解
2011/02/24 Javascript
jquery原创弹出层折叠效果点击折叠弹出一个层
2014/03/12 Javascript
基于JQuery和CSS3实现仿Apple TV海报背景视觉差特效源码分享
2015/09/21 Javascript
理解AngularJs指令
2015/12/10 Javascript
JQuery手速测试小游戏实现思路详解
2016/09/20 Javascript
详谈JavaScript的闭包及应用
2017/01/17 Javascript
JavaScript输入框字数实时统计更新
2017/06/17 Javascript
JavaScript数据结构与算法之队列原理与用法实例详解
2017/11/22 Javascript
JavaScript事件对象event用法分析
2018/07/27 Javascript
详解Vue项目引入CreateJS的方法(亲测可用)
2019/05/30 Javascript
JS实现继承的几种常用方式示例
2019/06/22 Javascript
[04:27]DOTA2官方论坛水友赛集锦
2013/09/16 DOTA
[08:04]TI4西雅图DOTA2前线报道 海涛探访各路人马
2014/07/09 DOTA
Python常见文件操作的函数示例代码
2011/11/15 Python
python 生成器生成杨辉三角的方法(必看)
2017/04/10 Python
python中Matplotlib实现绘制3D图的示例代码
2017/09/04 Python
python实现微信打飞机游戏
2020/03/24 Python
深入了解Python 方法之类方法 &amp; 静态方法
2020/08/17 Python
手把手教你配置JupyterLab 环境的实现
2021/02/02 Python
英国知名奢侈品包包品牌:Milli Millu
2016/12/22 全球购物
欧克利英国官网:Oakley英国
2019/08/24 全球购物
俄罗斯宠物用品网上商店:ZooMag
2019/12/12 全球购物
关于递归的一道.NET面试题
2013/05/12 面试题
介绍一下Java的事务处理
2012/12/07 面试题
十佳班主任事迹材料
2014/01/18 职场文书
学生感冒英文请假条
2014/02/04 职场文书
解除财产保全担保书
2014/05/20 职场文书
中职毕业生自我鉴定
2014/09/13 职场文书
师德师风剖析材料
2014/09/30 职场文书
党的群众路线批评与自我批评发言稿
2014/10/16 职场文书
2016年校园植树节广播稿
2015/12/17 职场文书
springboot用户数据修改的详细实现
2022/04/06 Java/Android