vue3.0如何使用computed來獲取vuex裡數據
vue3使用computed獲取vuex裡數據
不再是vue2.0裡什麼mapGetter,mapState那些復雜的獲取方式,
vue3.0裡直接使用computed就可以調用vuex裡的數據瞭。喜大普奔。
同時註意,一點,不可以直接使用useStore()方法裡的state對象,因為在輸出useStore方法的數據中,state是淺灰色的。
淺灰色隻可看到,但是不可以直接使用。
如圖:
<template> <div>{{dataList}}</div> </template> <script> import { defineComponent, ref, reactive, toRefs, computed } from "vue"; import { useStore } from 'vuex' // computed 計算屬性 export default defineComponent({ name: "home", setup(props, ctx) { let store = useStore() // 因為store裡state是淺灰色的,所以不能直接使用,若要使用store.state.dataList需要computed來調用 console.log(store) let dataList = computed(()=>{ return store.state.dataList }) console.log(dataList) return { store, dataList } }, }); </script> <style scoped lang="scss"> </style>
vue3 簡單使用vuex
mutations用於更變store中的數據(同步)
如何調用mutations中數據
vue3中取vuex裡的數據 需要用 computed獲取
使用store.commit(“add”) 來觸發vuex裡的mutations方法
觸發mutations時傳遞參數:store.commit(“addN”,2) 通過第二個參數
使用action觸發某個mutation
使用dispatch
如何使用getters
getter用於對store中的數據進行加工處理形成的新的數據
不會修改store中的原數據 它隻起到一個包裝器的作用 將store中的數據變一種形式返回出來
1.getter可以對store中已有的數據加工處理之後形成新的數據,類似vue的計算屬性
2.store中數據發生改變 getter中的數據也會跟著變化
用計算屬性可以獲取vuex中的getters中的數據
總結
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。