您好,登錄后才能下訂單哦!
我們?cè)趯?xiě)vue項(xiàng)目中如果,我們發(fā)現(xiàn)vuex中<button @click="$store.commit('jia')">-</button>是十分麻煩的,我們想直接寫(xiě)成@click中的jia,我們應(yīng)該如何處理?
我們可以想一想我們?cè)诮鉀Qstate時(shí)是如何解決的,為此我們將介紹一個(gè)與解決state相同方案
第一步在我們自己創(chuàng)建模板a.vue里引入我們的mapMutations
代碼如下:
import {mapState,mapMutations} from 'vuex'
注:此處的mapMutations就是我們要引入,而你對(duì)比state的方法其實(shí)就是引入mapState
第二步在模板的<script>標(biāo)簽里添加methods屬性,并加入mapMutations
代碼如下:
<script> import store from '@/store' import {mapState,mapMutations} from 'vuex' export default{ data(){ return{ } }, computed:mapState(["num"]), methods:mapMutations([//只關(guān)注此欄 'jia' ]), store } </script>
第三步在模板中直接寫(xiě)入
<template> <div> <h4>{{num}}</h4> <button @click="jia">+</button><!--此處--> <div> </template>
補(bǔ)充部分:store.js代碼
import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) const state={//狀態(tài)對(duì)象 num:0, } const mutations={//觸發(fā)狀態(tài) jian(state){ state.num++ }, }
測(cè)試: 點(diǎn)擊button按鈕它會(huì)一直加加
以上這篇vuex實(shí)現(xiàn)像調(diào)用模板方法一樣調(diào)用Mutations方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。