Vuex白話教程第五講 Vuex的小幫

2021-10-10 20:21:07 字數 2149 閱讀 6044

vuex白話教程第一講:vuex到底是個什麼鬼?

vuex白話教程第二講:vuex旗下的state和getter

vuex白話教程第三講:vuex旗下的mutation

vuex白話教程第四講:vuex旗下的action

vuex白話教程第五講:vuex的小幫手

vuex白話教程第六講:vuex的管理員module(實戰篇)

前面已經講完了 vuex 下的 state、getter、mutation 及 action 這四駕馬車,不知道大家是否已經理解。當然,要想真正熟練掌握的話,還是需要不斷的練習和動手實踐才行。

其實只要把這四駕馬車完全熟練駕馭了,那麼應對一些中小型的專案,基本上就已經沒啥問題了,後面的 module 這架終極馬車,其實是為了搞定那些稍微大型複雜一點的專案,避免 store 裡面的資料太多,難以管理而設計,這駕馬車稍微比較抽象,不太好駕馭,我們下一講再來詳細的去剖解它。

vue 裡面的很多配套設施,在使用體驗上一直都追求著簡潔,追求著極致,**不爽改**,所以這也是為什麼 vue 能夠長時間深得民心的乙個很重要的原因所在。那麼這一講,主要就和大家簡單的聊一聊 vuex 的一些常用的輔助函式。

通過前面的學習,我們知道,從 store 例項中讀取狀態最簡單的方法就是在計算屬性中返回某個狀態。

那麼,當乙個元件需要獲取多個狀態的時候,怎麼辦?是不是這樣:

export default ,

b () ,

c () ,

...}

}

當然,這樣是沒問題的,但是總感覺寫起來很難受,看起來更難受是吧!既然這麼容易我們就感受到了,vuex 能感受不到嗎,能忍得了嗎?

絕對不能忍,所以 mapstate 輔助函式被創造了出來,用來搞定這個人人為之咬牙切齒的痛點。

// 在單獨構建的版本中輔助函式為 vuex.mapstate

import from 'vuex'

export default

})}

通過上面的示例,可以了解到,我們可以直接把需要用到的狀態全部存放在 mapstate 裡面進行統一管理,而且還可以取別名,做額外的操作等等。

如果所對映的計算屬性名稱與 state 的子節點名稱相同時,我們還可以更加簡化,給 mapstate 傳乙個字串陣列:

computed: mapstate([

// 對映 this.a 為 store.state.a

'a',

'b',

'c'])

因為 computed 這個計算屬性接收的是乙個物件,所以由上面的示例**可以看出,mapstate 函式返回的是乙個物件,現在如果想要和區域性的計算屬性混合使用的話,可以使用 es6 的語法這樣寫來大大簡化:

computed: ,

// 使用物件展開運算子將此物件混入到外部物件中

...mapstate()

}

了解了 mapstate 輔助函式後,接下來的幾個輔助函式的用法也基本上都差不多了,我們繼續往下看。

mapgetters

這個和 mapstate 基本上沒啥區別,簡單看下官方的例子,就懂了:

import from 'vuex'

export default

}

取個別名,那就用物件的形式,以下示例的意思就是把 this.donecount 對映為

this.$store.getters.donetodoscount。

mapgetters()

mapmutations

直接看示例**:

import  from 'vuex'

export default )

}}

簡直不要太好用,**荷也可以直接支援。

mapactions

和 mapmutations 用法一模一樣,換個名字即可。

import  from 'vuex'

export default )

}}

想要在元件中呼叫,直接 this.*** 就完了。

最後一講「vuex白話教程第六講:vuex的管理員module(實戰篇)」

Vuex 白話教程第五講 Vuex 的小幫手

先說兩句 前面已經講完了 vuex 下的 state getter mutation 及 action 這四駕馬車,不知道大家是否已經理解。當然,要想真正熟練掌握的話,還是需要不斷的練習和動手實踐才行。其實只要把這四駕馬車完全熟練駕馭了,那麼應對一些中小型的專案,基本上就已經沒啥問題了,後面的 mo...

Vuex教程第五講 Vuex的小助手 05

先說兩句 前面已經講完了 vuex 下的 state getter mutation 及 action 這四駕馬車,不知道大家是否已經理解。當然,要想真正熟練掌握的話,還是需要不斷的練習和動手實踐才行。其實只要把這四駕馬車完全熟練駕馭了,那麼應對一些中小型的專案,基本上就已經沒啥問題了,後面的 mo...

vuex初解教程

什麼是vuex?vuex是乙個專門為vue.js設計的集中式狀態管理架構。狀態?我把它理解為在data中的屬性需要共享給其他vue元件使用的部分,就叫做狀態。簡單的說就是data中需要共用的屬性。為什麼使用vuex?如果您不打算開發大型單頁應用,使用 vuex 可能是繁瑣冗餘的。確實是如此 如果您的...