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 相关文章推荐
解决JQeury显示内容没有边距内容紧挨着浏览器边线
Dec 20 Javascript
JavaScript Math.ceil 方法(对数值向上取整)
Jan 09 Javascript
javascript仿百度输入框提示自动下拉补全
Jan 07 Javascript
Bootstrap学习笔记之css样式设计(2)
Jun 07 Javascript
基于bootstrap实现广告轮播带图片和文字效果
Jul 22 Javascript
jquery 点击元素后,滚动条滚动至该元素位置的方法
Aug 05 Javascript
利用CSS、JavaScript及Ajax实现图片预加载的方法
Nov 29 Javascript
微信小程序 二维码canvas绘制实例详解
Jan 06 Javascript
javascript循环链表之约瑟夫环的实现方法
Jan 16 Javascript
vue项目中公用footer组件底部位置的适配问题
May 10 Javascript
jQuery实现模糊搜索功能的方法分析
Jun 29 jQuery
CryptoJS中AES实现前后端通用加解密技术
Dec 18 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/23 PHP
浅析php header 跳转
2013/06/17 PHP
PHP快速生成各种信息提示框的方法
2016/02/03 PHP
Yii2搭建后台并实现rbac权限控制完整实例教程
2016/04/28 PHP
Swoole4.4协程抢占式调度器详解
2019/05/23 PHP
动态刷新 dorado树的js代码
2009/06/12 Javascript
关于Javascript模块化和命名空间管理的问题说明
2010/12/06 Javascript
基于jquery的地址栏射击游戏代码
2011/03/10 Javascript
js调用图片隐藏&amp;显示实现代码
2013/09/13 Javascript
js取得html iframe中的元素和变量值
2014/06/30 Javascript
jQuery事件绑定与解除绑定实现方法
2015/04/15 Javascript
Javascript 数组去重的方法(四种)详解及实例代码
2016/11/24 Javascript
详解Vue.js分发之作用域槽
2017/06/13 Javascript
vue+socket.io+express+mongodb 实现简易多房间在线群聊示例
2017/10/21 Javascript
Vue父子组建的简单通信之控制开关Switch的实现
2018/06/04 Javascript
webpack4与babel配合使es6代码可运行于低版本浏览器的方法
2018/10/12 Javascript
vue-router判断页面未登录自动跳转到登录页的方法示例
2018/11/04 Javascript
了解JavaScript表单操作和表单域
2019/05/27 Javascript
[42:20]2014 DOTA2华西杯精英邀请赛5 24 DK VS NewBee
2014/05/25 DOTA
[08:54]DOTA2-DPC中国联赛 正赛 Aster vs LBZS 选手采访
2021/03/11 DOTA
python 简单的绘图工具turtle使用详解
2017/06/21 Python
浅谈Python traceback的优雅处理
2018/08/31 Python
pytorch使用Variable实现线性回归
2019/05/21 Python
详解python中docx库的安装过程
2019/11/08 Python
Python3.9又更新了:dict内置新功能
2020/02/28 Python
Python实现钉钉/企业微信自动打卡的示例代码
2021/02/02 Python
python切片作为占位符使用实例讲解
2021/02/17 Python
美国最大的半成品净菜电商:Blue Apron(蓝围裙)
2018/04/27 全球购物
意大利奢侈品综合电商网站:MODES
2019/12/14 全球购物
编写类String的构造函数、析构函数和赋值函数
2012/05/29 面试题
公司前台辞职报告
2014/01/19 职场文书
装饰活动策划方案
2014/02/11 职场文书
交通事故委托书范本
2014/09/28 职场文书
稽核岗位职责
2015/02/10 职场文书
趣味运动会简讯
2015/07/20 职场文书
六年级作文之家庭作文
2019/12/12 职场文书