vuex新手進(jìn)階篇之改變state?mutations的使用
緊接上篇文章,本篇文章講vuex ,如何去改變state ,mutations的使用,我依然使用了vuex的modules
1. 設(shè)置改變state的mutations事件
index.js

dict.js

2.提交mutations事件(常用的兩種方法)
<template>
<div>
<div>
改變vuex index.js 下的state
<div>
{{ $store.state.userInfo.name + "---" + $store.state.userInfo.age }}
</div>
<div>
<button @click="changeUserInfo">修改方式1</button>
</div>
<div>
<button @click="changeUserInfo2">修改方式2</button>
</div>
</div>
--------------------------------------------------
<div>
改變vuex index.js modules下的dict 下的state
<div>
{{ $store.state.dict.taskTypeDict }}
</div>
<div>
<button @click="changeDict">修改方式1</button>
</div>
<div>
<button @click="changeDict2">修改方式2</button>
</div>
</div>
</div>
</template>
<script>
import { mapMutations } from "vuex"; //修改vuex state第二種方式,首先引入
export default {
data() {
return {};
},
methods: {
// 修改方式1,提交mutations
changeUserInfo() {
let userInfo = { name: "uzi", age: 24 };
//setUserInfo方法為你在vuex index.js 下的mutations下的注冊的方法名稱
this.$store.commit("setUserInfo", userInfo);
},
// 修改方式2
...mapMutations(["setUserInfo"]), //把vuex index.js 下的mutations下的注冊的方法名稱寫入
changeUserInfo2() {
let userInfo = { name: "kobe", age: 30 };
this.setUserInfo(userInfo);
},
// ------------------------------------------------------------------
changeDict() {
let dict = "進(jìn)行中";
// 因?yàn)槲覀冊趍odules下開啟了命名空間,所以我們在調(diào)用dict下的Mutations時,需在前方加上空間名字
this.$store.commit("dict/setTaskTypeDict", dict);
},
...mapMutations({ setDict: "dict/setTaskTypeDict" }), //因?yàn)槲覀冮_辟了命名空間,故需要重寫一個方法名,進(jìn)行承接映射,注意此處不再是數(shù)組,而是一個對象
changeDict2() {
let dict = "已完成";
this.setDict(dict);
},
},
};
</script>注釋本人認(rèn)為已寫清
總結(jié)
到此這篇關(guān)于vuex新手進(jìn)階篇之改變state mutations使用的文章就介紹到這了,更多相關(guān)vuex改變state mutations的使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue中關(guān)于router.beforeEach()的用法
這篇文章主要介紹了vue中關(guān)于router.beforeEach()的用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11
vue.js中for循環(huán)如何實(shí)現(xiàn)異步方法同步執(zhí)行
這篇文章主要介紹了vue.js中for循環(huán)如何實(shí)現(xiàn)異步方法同步執(zhí)行問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02
使用Plotly.js在Vue中創(chuàng)建交互式散點(diǎn)圖的示例代碼
Plotly.js是一個功能強(qiáng)大的JavaScript庫,用于創(chuàng)建交互式數(shù)據(jù)可視化,它支持各種圖表類型,包括散點(diǎn)圖、折線圖和直方圖,在Vue.js應(yīng)用程序中,Plotly.js可用于創(chuàng)建動態(tài)且引人入勝的數(shù)據(jù)可視化,本文介紹了使用Plotly.js在Vue中創(chuàng)建交互式散點(diǎn)圖,需要的朋友可以參考下2024-07-07
vue router動態(tài)路由設(shè)置參數(shù)可選問題
這篇文章主要介紹了vue-router動態(tài)路由設(shè)置參數(shù)可選,文中給大家提到了vue-router 動態(tài)添加 路由的方法,需要的朋友可以參考下2019-08-08
Element修改彈窗類組件的層級的實(shí)現(xiàn)
本文主要介紹了Element修改彈窗類組件的層級的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-04-04

