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 相关文章推荐
jQuery 插件 将this下的div轮番显示
Apr 09 Javascript
瀑布流布局代码一例
Apr 11 Javascript
用原生js做个简单的滑动效果的回到顶部
Oct 15 Javascript
JavaScript中的索引数组、关联数组和静态数组、动态数组讲解
Nov 08 Javascript
javascript简单实现类似QQ头像弹出效果的方法
Aug 03 Javascript
js实现简单秒表走动的时钟特效
Mar 25 Javascript
jQuery+Ajax实现无刷新操作
Jan 04 Javascript
AngularJS表单验证中级篇(3)
Sep 28 Javascript
详解js运算符单竖杠“|”与“||”的用法和作用介绍
Nov 04 Javascript
AngularJS ionic手势事件的使用总结
Aug 09 Javascript
vue v-model动态生成详解
Jun 30 Javascript
layDate日期控件使用方法详解
Nov 15 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
松下Panasonic RF-B65电路分析
2021/03/02 无线电
php curl 上传文件代码实例
2015/04/27 PHP
8个PHP数组面试题
2015/06/23 PHP
javascript 树控件 比较好用
2009/06/11 Javascript
jquery事件与函数的使用介绍
2013/09/29 Javascript
学习JavaScript设计模式(接口)
2015/11/26 Javascript
jQuery轻松实现无缝轮播效果
2017/03/22 jQuery
微信小程序如何获知用户运行小程序的场景教程
2017/05/17 Javascript
详解vue2.0脚手架的webpack 配置文件分析
2017/05/27 Javascript
Nodejs 和 Electron ubuntu下快速安装过程
2018/05/04 NodeJs
vue mint-ui tabbar变组件使用
2018/05/04 Javascript
layui使用templet格式化表格数据的方法
2019/09/16 Javascript
electron 安装,调试,打包的具体使用
2019/11/06 Javascript
[41:08]TNC vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
利用Python中的输入和输出功能进行读取和写入的教程
2015/04/14 Python
Python django实现简单的邮件系统发送邮件功能
2017/07/14 Python
python爬取淘宝商品详情页数据
2018/02/23 Python
使用CodeMirror实现Python3在线编辑器的示例代码
2019/01/14 Python
Python类的继承、多态及获取对象信息操作详解
2019/02/28 Python
python实现列表中最大最小值输出的示例
2019/07/09 Python
css3实现背景颜色渐变让图片不再是唯一的实现方式
2012/12/18 HTML / CSS
用HTML5.0制作网页的教程
2010/05/30 HTML / CSS
HTML5 canvas基本绘图之图形变换
2016/06/27 HTML / CSS
Foreo国际站:Foreo International
2018/10/29 全球购物
Glamest意大利:女性在线奢侈品零售店
2019/04/28 全球购物
美国隐形眼镜网上商店:Lens.com
2019/09/03 全球购物
省级青年文明号申报材料
2014/05/23 职场文书
机关干部三严三实心得体会
2014/10/13 职场文书
乡镇党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
保卫工作个人总结
2015/03/03 职场文书
2015年评职称工作总结范文
2015/04/20 职场文书
2015年班干部工作总结
2015/04/29 职场文书
小学数学继续教育研修日志
2015/11/13 职场文书
Python爬虫之爬取某文库文档数据
2021/04/21 Python
超详细Python解释器新手安装教程
2021/05/10 Python
在Oracle表中进行关键词搜索的过程
2022/06/10 Oracle