最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue中mapMutations傳遞參數(shù)方式

 更新時(shí)間:2022年04月12日 11:50:10   作者:歐冠開了  
這篇文章主要介紹了Vue中mapMutations傳遞參數(shù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

通過子組件定義的方法傳遞參數(shù)

在…mapMutations引用

不多逼逼,看代碼!

store文件中:

import Vuex from 'vuex';
import Vue from 'vue';
Vue.use(Vuex);
let store = new Vuex.Store({
? ? state: {
? ? ? ? name: 'hahahah',
? ? ? ? age: '19',
? ? },
? ? mutations: {
? ? ? ? changeName(state, params) {
? ? ? ? ? ? console.log(params);
? ? ? ? ? ? state.name = params.name?
? ? ? ? },
? ? ? ? changeAge(state, params) {
? ? ? ? ? ? state.age = params.age
? ? ? ? }
? ? },
})
export default store

VueDemo中:

<template>
? <div>
? ? <h4>這里是son1組件</h4>
? ? name:{{name}}
? ? age:{{age}}
? ? <button @click="hehe">改名字</button>
? </div>
</template>
<script>
import { mapState, mapMutations } from "vuex";
export default {
? data() {
? ? return {
? ? ? list: {
? ? ? ? name: "6666"
? ? ? }
? ? };
? },
? computed: {
? ? ...mapState(["name", "age"])
? },
? methods: {
? ? hehe() {
? ? ? this.changeName(this.list);
? ? },
? ? ...mapMutations(["changeName"])
? }
};
</script>
<style>
</style>

當(dāng)然也可以寫直接傳遞

state.age = params
<button @click="changeName(555555)">改名字</button>

省略data傳參

...mapMutations(["changeName"])

關(guān)于mapMutations的作用

mapMutations工具函數(shù)會(huì)將store中的commit方法映射到組件的methods中。和mapActions的功能幾乎一樣,我們來直接看它的實(shí)現(xiàn):

export function mapMutations (mutations) {
?? ?const res = {}
?? ?normalizeMap(mutations).forEach(({ key, val }) => {
?? ??? ?res[key] = function mappedMutation (...args) {
?? ??? ??? ?return this.$store.commit.apply(this.$store, [val].concat(args))
?? ??? ?}
?? ?})
?? ?return res
}

函數(shù)的實(shí)現(xiàn)幾乎也和 mapActions 一樣,唯一差別就是映射的是 store 的 commit 方法。為了更直觀地理解,我們來看一個(gè)簡單的例子:

import { mapMutations } from 'vuex'
export default {
?? ?// ...
?? ?methods: {
?? ??? ?...mapMutations([
?? ??? ??? ?'increment' // 映射 this.increment() 到 this.$store.commit('increment')
?? ??? ?]),
?? ??? ?...mapMutations({
?? ??? ??? ?add: 'increment' // 映射 this.add() 到 this.$store.commit('increment')
?? ??? ?})
?? ?}
}

經(jīng)過mapMutations函數(shù)調(diào)用后的結(jié)果,如下所示:

import { mapActions } from 'vuex'
export default {
?? ?// ...
?? ?methods: {
?? ??? ?increment(...args) {
?? ??? ??? ?return this.$store.commit.apply(this.$store, ['increment'].concat(args))
?? ??? ?}
?? ??? ?add(...args) {
?? ??? ??? ?return this.$store.commit.apply(this.$store, ['increment'].concat(args))
?? ??? ?}
?? ?}
}

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。 

相關(guān)文章

  • 詳解Vue中的基本語法和常用指令

    詳解Vue中的基本語法和常用指令

    Vue.js 是一套構(gòu)建用戶界面的框架,**只關(guān)注視圖層**,它不僅易于上手,還便于與第三方庫或既有項(xiàng)目整合。這篇文章主要介紹了vue 的基本語法和常用指令,需要的朋友可以參考下
    2019-07-07
  • vue3 實(shí)現(xiàn)牙位圖選擇器的實(shí)例代碼

    vue3 實(shí)現(xiàn)牙位圖選擇器的實(shí)例代碼

    這篇文章主要介紹了vue3 實(shí)現(xiàn)牙位圖選擇器的實(shí)例代碼,代碼簡單易懂,需要的朋友參考下吧
    2025-04-04
  • Object.assign觸發(fā)watch原理示例解析

    Object.assign觸發(fā)watch原理示例解析

    這篇文章主要為大家介紹了Object.assign觸發(fā)watch原理示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • vue cli3.0結(jié)合echarts3.0與地圖的使用方法示例

    vue cli3.0結(jié)合echarts3.0與地圖的使用方法示例

    這篇文章主要給大家介紹了關(guān)于vue cli3.0結(jié)合echarts3.0與地圖的使用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • vue中.env文件配置環(huán)境變量的實(shí)現(xiàn)

    vue中.env文件配置環(huán)境變量的實(shí)現(xiàn)

    本文主要介紹了vue中.env文件配置環(huán)境變量的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • Vue3動(dòng)態(tài)使用KeepAlive組件的實(shí)現(xiàn)步驟

    Vue3動(dòng)態(tài)使用KeepAlive組件的實(shí)現(xiàn)步驟

    在 Vue 3 項(xiàng)目中,我們有時(shí)需要根據(jù)路由的 meta 信息來動(dòng)態(tài)決定是否使用 KeepAlive 組件,以控制組件的緩存行為,所以本文給大家介紹了Vue3動(dòng)態(tài)使用KeepAlive組件的實(shí)現(xiàn)步驟,通過代碼示例講解的非常詳細(xì),需要的朋友可以參考下
    2024-11-11
  • Vue3中使用Supabase?Auth方法詳解

    Vue3中使用Supabase?Auth方法詳解

    這篇文章主要為大家介紹了Vue3中使用Supabase?Auth方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • vue 彈窗時(shí) 監(jiān)聽手機(jī)返回鍵關(guān)閉彈窗功能(頁面不跳轉(zhuǎn))

    vue 彈窗時(shí) 監(jiān)聽手機(jī)返回鍵關(guān)閉彈窗功能(頁面不跳轉(zhuǎn))

    這篇文章主要介紹了vue 彈窗時(shí) 監(jiān)聽手機(jī)返回鍵關(guān)閉彈窗功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值(頁面不跳轉(zhuǎn)) ,需要的朋友可以參考下
    2019-05-05
  • 詳解VUE中常用的幾種import(模塊、文件)引入方式

    詳解VUE中常用的幾種import(模塊、文件)引入方式

    這篇文章主要介紹了詳解VUE中常用的幾種import(模塊、文件)引入方式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-07-07
  • vue2+elementui上傳照片方式(el-upload超簡單)

    vue2+elementui上傳照片方式(el-upload超簡單)

    這篇文章主要介紹了vue2+elementui上傳照片方式(el-upload超簡單),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03

最新評(píng)論

甘泉县| 美姑县| 承德县| 铁力市| 阿尔山市| 墨玉县| 集安市| 定西市| 金乡县| 保靖县| 高密市| 昭苏县| 海南省| 永安市| 肇源县| 岢岚县| 沙雅县| 长治县| 唐海县| 汉源县| 无棣县| 遵义县| 焦作市| 罗甸县| 普兰店市| 平利县| 石楼县| 永修县| 南丰县| 清水县| 双城市| 金湖县| 黄梅县| 会泽县| 上栗县| 上林县| 丰镇市| 沐川县| 凌云县| 萨迦县| 滦平县|