美文网首页测试员的那点事
vue-vuex-modules的使用

vue-vuex-modules的使用

作者: 望月成三人 | 来源:发表于2020-11-26 22:38 被阅读0次
  • 应用场景,当需要划分多模块时使用
  • 创建项目选择router和vuex
  • src/route/index.js
import Vue from 'vue'
import VueRouter from 'vue-router'
import BuyCarView from '../views/BuyCarView.vue'
Vue.use(VueRouter)

const routes = [
  {
    path: '/buy',
    name:"BuyCarView",
    component: BuyCarView
  },
....
  • src/store下新建一个buyCar.js存放模块的内容
export default {
    state:{
        productNum:10
    },
    getters: {
        desc:function(state){
            return state.productNum +"件" 
        }
    },
    mutations:{
        addNum:function(state){
            state.productNum++
        }

    },
    actions:{
        changeNum:function(content){
            setTimeout(()=>{
                content.commit("addNum")
            },1000)
        }
    },
    modules:{

    }
}
  • src/srore/index.js
import Vue from 'vue'
import Vuex from 'vuex'
import buyCar from './buyCar'
Vue.use(Vuex)

export default new Vuex.Store({
  // data
  state: {
  },
  //  methods,处理state
  mutations: {
    },
  //  异步方法,如ajax
  actions: {
    }
    
  },
  modules: {
    // 简写buyCar
    buyCar:buyCar
  }
})
  • src/views/BuyCar.vue组件中
<template>
    <div class="content">
        <h1>信息:buycar</h1>
        <h2>产品1:{{$store.state.buyCar.productNum}}</h2>
        <h2>产品2:{{buyCar.productNum}}</h2>
        <h2>描述:{{desc}}</h2>
        <button @click="addNum">添加数量1</button>
        <button @click="changeNum">添加数量2</button>

        <!-- <input type="text" :value="num" @input="addEvent" /> -->
    </div>
</template>

<script>
// 导入四个map
import { mapState,mapGetters, mapActions,mapMutations} from 'vuex'
let mapStateObj = mapState(['buyCar'])
let mapGettersObj = mapGetters(['desc'])
let mapMutationsObj = mapMutations(['addNum'])
let mapActionObj = mapActions(['changeNum'])

export default {
    data() {
        return {}
    },
    mounted(){
        console.log(this)
    },
    computed: {
        // 解析state
          ...mapStateObj,
          ...mapGettersObj
    },
    methods: {
      // 解析action和mutations的方法
      ...mapMutationsObj,
      ...mapActionObj
    }
}
</script>
image.png

相关文章

  • vue-vuex-modules的使用

    应用场景,当需要划分多模块时使用 创建项目选择router和vuex src/route/index.js中 在s...

  • iconfont的使用(下载使用)

    1、下载文件 2、在生命周期中引入项目 beforeCreate () { var domModule = ...

  • Gson的使用--使用注解

    Gson为了简化序列化和反序列化的过程,提供了很多注解,这些注解大致分为三类,我们一一的介绍一下。 自定义字段的名...

  • 记录使用iframe的使用

    默认记录一下----可以说 这是我第一次使用iframe 之前都没有使用过; 使用方式: 自己开发就用了这几个属...

  • with的使用

    下面例子可以具体说明with如何工作: 运行代码,输出如下

  • this的使用

    什么是this? this是一个关键字,这个关键字总是返回一个对象;简单说,就是返回属性或方法“当前”所在的对象。...

  • this的使用

    JS中this调用有几种情况 一:纯粹的函数调用 这是函数的最通常用法,属于全局性调用,因此this就代表全局对象...

  • ==的使用

    积累日常遇到的编码规范,良好的编码习惯,持续更新。。。 日常使用==用于判断的时候,习惯性将比较值写前面,变量写后...

  • this的使用

    1.默认绑定,就是函数立即执行。 函数立即执行就是指向window,但是如果是node环境,就是指向全局conso...

  • %in% 的使用

    写在前面:From 生信技能书向量难点之一:%in% 难点 (1)== 与 %in% 的区别== 强调位置,x和对...

网友评论

    本文标题:vue-vuex-modules的使用

    本文链接:https://www.haomeiwen.com/subject/kmftwktx.html