时间:2021-05-26
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 是根模块)
2.1> 例如 -- 设置index.js为根模块,child1.js与child2.js两个子模块
2.2> 在store/index.js 中不需要返回 Vuex.Store 实例,可以直接将 state、mutations 和 actions 暴露出来:
(以下为例:index中存储商品总价,child1中存储单价,child2中存放数量)
子模块中同样直接将 state、mutations 和 actions 暴露出来:
child1.js1export const state = () =>({ price:10, //单价});export const mutations = { getPrice(state,price) { state.price= price }};child2.js2export 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://www.jb51.net/article/169502.htm
https://www.jb51.net/article/169504.htm
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在前端模块化的时候,不仅仅是js需要进行模块化管理,html有时候也需要模块化管理。这里就介绍下如何通过requirejs,实现html代码的模块化开发。如何使
Ajax框架就是提供模块化实现Ajax功能的集合,Ajax框架可以是各种语言实现的(比如SAJAX有各种语言的实现),Ajax只是jquery中的一部分,实例1
概述在ES6前,实现模块化使用的是RequireJS或者seaJS(分别是基于AMD规范的模块化库,?和基于CMD规范的模块化库)。ES6引入了模块化,其设计思
真正的模块化前端模块化很早就开始了,无论是require.js,browserify进行模块化打包,还是Angular进行依赖注入,我们都可以把JS代码分成一个
学习要点:控制器模块化指令模块化过滤器模块化服务模块化定义值模块化使用模块工作第一步:创建一个模块//function:definemodulenamedexa