色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

vue getter

傅智翔2年前8瀏覽0評論

在Vue中,我們經常使用Vuex來管理應用的狀態。Getter是Vuex中的一個概念,它可以獲取并計算store的狀態,從而派生出新的狀態。在本文中,我們將探討Vue Getter的使用和實現。

Getter是一個無副作用的函數,它接收state參數,并返回一個計算后的值。我們可以定義一個getter函數,在store中使用getters屬性將其注冊:

const store = new Vuex.Store({
state: {
count: 0
},
getters: {
doubleCount: state =>{
return state.count * 2
}
}
})

在上面這個例子中,我們定義了一個doubleCount的getter函數,它返回了state.count的兩倍。通過在組件中使用mapGetters,我們可以訪問該getter:

import { mapGetters } from 'vuex'
export default {
computed: {
...mapGetters([
'doubleCount'
])
}
}

現在,在組件中使用this.doubleCount即可獲取該getter的值。

Getter還可以接收其他的getter作為參數,來實現getter的復用。例如,我們可以將上面的doubleCount改為返回某個狀態的倍數:

getters: {
double: state =>{
return (number) =>{
return number * 2
}
}
}

這里的double接收一個number參數,并返回number的兩倍。然后,我們定義另外一個getter,使用這個double來計算狀態的5倍:

getters: {
countTimesFive: (state, getters) =>{
return getters.double(state.count) * 5
}
}

現在,我們就可以使用mapGetters來訪問countTimesFive了。

在Vue Store中,Getter可以派生出新的狀態,而不僅僅是拿到某個狀態的值。通過計算狀態的getter,我們可以在store中添加更多的邏輯和功能。Getter的使用使得狀態的管理更加靈活,同時也使得我們的代碼更易于維護。