• 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>

    截图:

     

  • 相关阅读:
    sprint最后冲刺-out to out
    Sprint 冲刺第三阶段第6-10天
    Sprint 冲刺第三阶段第3-5天 数据库代码
    Sprint 冲刺第三阶段第3-5天
    Sprint 冲刺第三阶段第二天
    Sprint 冲刺第三阶段第一天
    Sprint第三个计划
    代码·--四则运算的主要核心代码
    Sprint冲刺第二阶段之6---10天(下)
    Sprint 冲刺第二阶段之1---5天(上)
  • 原文地址:https://www.cnblogs.com/Alex-Song/p/13265289.html
Copyright © 2020-2023  润新知