zoukankan      html  css  js  c++  java
  • vuex的module简单使用

    1、首先在store文件下创建modules文件夹,在内部新建各个模块的js文件

    文件内部写法如下:

    const oneVuex={
        namespaced: true,
        state:{
            oneCount:100,
            oneNum:50
        },
        actions:{
            oneAcAdd({commit},oneVal){
                commit('oneMuAdd',oneVal)
            },
            oneAcMinus({commit},oneVal){
                commit('oneMuMinus',oneVal)
            }
        },
        mutations:{
            oneMuAdd(state,oneVal){
                state.oneNum+=oneVal
            },
            oneMuMinus(state,oneVal){
                state.oneNum-=oneVal
            }
        }
    }
    
    export default oneVuex

    截图:

     2、在store内创建除modules文件夹外的getters.js以及index.js,分别存储计算属性以及总体数据

    getters内写法:

    const getters={
        changeState(state){
            return state.oneVuex.oneNum/4
        }
    }
    
    export default getters

     3、index.js内部写法:

    import Vuex from "vuex";
    import Vue from "vue";
    import oneVuex from "./modules/oneVuex"
    import twoVuex from "./modules/twoVuex"
    import getters from './getters'
    Vue.use(Vuex);
    const store=new Vuex.Store({
        modules:{
            oneVuex,
            twoVuex
        },
        getters,
    })
    
    export default store

    截图:

     4、组件内部使用

    <template>
      <div>
        <h2>home</h2>
        <h3>vuex中的oneNum:{{oneNum}}</h3>
        <h3>vuex中的twoNum:{{twoNum}}</h3>
        <h3>vuex中的changeState:{{changeState}}</h3>
        <button @click="oneAcAdd(10)">home改变</button>
      </div>
    </template>
    
    <script>
    import {mapState, mapGetters, mapActions} from "vuex"
    export default {
      name: "Home",
      data() {
        return {
          
        };
      },
      created() {
        
      },
      computed:{
        ...mapState('oneVuex',{
          oneNum:state=>state.oneNum
        }),
        ...mapState('twoVuex',{
          twoNum:state=>state.oneNum
        }),
        ...mapGetters({
          changeState:'changeState'
        })
      },
      methods: {
        ...mapActions('oneVuex',{
          oneAcAdd:'oneAcAdd'
        }),
      },
    };
    </script>

    截图:

     

  • 相关阅读:
    第二阶段:冲刺2(个人界面的优化---头像上传)
    第二阶段:冲刺1(任务的分配)
    学习进度第12周
    读书笔记《人月神话》1
    学习进度第11周
    读书笔记《编程珠矶》3
    学习进度第10周
    第一阶段:冲刺10(完结)
    第十五周学习进度总结
    第十四周学习进度总结
  • 原文地址:https://www.cnblogs.com/Alex-Song/p/13265289.html
Copyright © 2011-2022 走看看