zoukankan      html  css  js  c++  java
  • vuex 的模块中如何调用 actions 中的方法

    vuex 的模块中如何调用 actions 中的方法  

    模块vuexTest.js

    /**
     * 模块vuexTest.js
     */
    export default {
        namespaced: true,
        actions: {
            actionsHello(context, val) {
                console.log(context, "context"); // 与 store 实例具有相同方法和属性的 context 对象 属性有 state、getters、rootGetters、rootState、commit、dispatch
                console.log(val, "val"); // 传的参数
            },
            // actionsHello({ state, getters, rootGetters, rootState, commit, dispatch }, val) { // 才有es6 的解构
            //     console.log(state, "state"); 
            //     console.log(val, "val"); // 传的参数
            // }
        }
    }

    1、不使用辅助函数 mapActions 情况下

    <!--test.vue-->
    <template>
      <div class="vuexRequest">
        vuexRequest
        <el-button @click="change" type="primary">点击</el-button>
      </div>
    </template>
    
    <script>
    export default {
      methods: {
        change() {
          this.$store.dispatch("vuexTest/actionsHello", "val123456"); // 前面是指定模块vuexTest 中的actionsHello 方法,后面是传参 可以是对象、数组、字符串等
        }
      },
    }
    </script>

    2、适用辅助函数 mapActions 情况下

    <!-- test.vue -->
    <template>
      <div class="vuexRequest">
        vuexRequest
        <el-button @click="change" type="primary">点击</el-button>
      </div>
    </template>
    
    <script>
    export default {
      methods: {
        // 辅助函数的数组形式
        ...mapActions("vuexTest", ["actionsHello"]),
        // 辅助函数的对象形式
        ...mapActions("vuexTest", {
          actionsHello: 'actionsHello'
        }),
        ...mapActions("vuexTest", {
          actionsHello123: 'actionsHello' // 改变模块vuexTest 中actions 中 方法映射
        }),
        // 方法调用
        change() {
          this.actionsHello("testVal"); // "testVal" 为函数的传参
          this.actionsHello123("testVal");
        }
      },
    }
    </script>
  • 相关阅读:
    tigerVNC远程桌面,跨内网
    Nutch 二次开发之parse正文内容
    在一个字符串中找到第一个仅仅出现一次的字符。
    图像处理之霍夫变换(直线检測算法)
    EJB3.0开发环境的搭建
    uestc 250 数位dp(水)
    Matlab画图-非常具体,非常全面
    高性能I/O设计模式Reactor和Proactor
    leetcode第一刷_Path Sum II
    PreTranslateMessage作用和用法
  • 原文地址:https://www.cnblogs.com/aidixie/p/14985444.html
Copyright © 2011-2022 走看看