您好,登錄后才能下訂單哦!
今天小編給大家分享一下Vuex中的API怎么使用的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
類型: Object
Vuex store 實例的根 state 對象
類型: { [type: string]: Function }
在 store 上注冊 mutation,處理函數總是接受 state 作為第一個參數(如果定義在模塊中,則為模塊的局部狀態),payload 作為第二個參數(可選)
類型: { [type: string]: Function }
在 store 上注冊 action。處理函數接受一個 context 對象,包含以下屬性:
{ state, // 等同于 store.state, 若在模塊中則為局部狀態 rootState, // 等同于 store.state, 只存在于模塊中 commit, // 等同于 store.commit dispatch, // 等同于 store.dispatch getters // 等同于 store.getters }
類型: { [key: string]: Function }
在 store 上注冊 getter,getter 方法接受以下參數:
state, // 如果在模塊中定義則為模塊的局部狀態
getters, // 等同于 store.getters
當定義在一個模塊里時會特別一些
state, // 如果在模塊中定義則為模塊的局部狀態
getters, // 等同于 store.getters
rootState // 等同于 store.state
rootGetters // 所有 getters
注冊的 getter 暴露為 store.getters
類型: Object
包含了子模塊的對象,會被合并到 store
{ key: { state, namespaced?, mutations, actions?, getters?, modules? }, ... }
與根模塊的選項一樣,每個模塊也包含 state 和 mutations 選項。模塊的狀態使用 key 關聯到 store 的根狀態。模塊的 mutation 和 getter 只會接收 module 的局部狀態作為第一個參數,而不是根狀態,并且模塊 action 的 context.state 同樣指向局部狀態
類型: Array<Function>
一個數組,包含應用在 store 上的插件方法。這些插件直接接收 store 作為唯一參數,可以監聽 mutation(用于外部地數據持久化、記錄或調試)或者提交 mutation (用于內部數據,例如 websocket 或 某些觀察者)
類型: Boolean
默認值: false
使 Vuex store 進入嚴格模式,在嚴格模式下,任何 mutation 處理函數以外修改 Vuex state 都會拋出錯誤
類型: Object
根狀態,只讀
類型: Object
暴露出注冊的 getter,只讀
commit(type: string, payload?: any, options?: Object) | commit(mutation: Object, options?: Object)
提交 mutation。options 里可以有 root: true,它允許在命名空間模塊里提交根的 mutation
dispatch(type: string, payload?: any, options?: Object) | dispatch(action: Object, options?: Object)
分發 action。options 里可以有 root: true,它允許在命名空間模塊里分發根的 action。返回一個解析所有被觸發的 action 處理器的 Promise
replaceState(state: Object)
替換 store 的根狀態,僅用狀態合并或時光旅行調試
watch(getter: Function, cb: Function, options?: Object)
響應式地監測一個 getter 方法的返回值,當值改變時調用回調函數。getter 接收 store 的狀態作為唯一參數。接收一個可選的對象參數表示 Vue 的 vm.$watch 方法的參數。
要停止監測,直接調用返回的處理函數
subscribe(handler: Function)
注冊監聽 store 的 mutation。handler 會在每個 mutation 完成后調用,接收 mutation 和經過 mutation 后的狀態作為參數
store.subscribe((mutation, state) => { console.log(mutation.type) console.log(mutation.payload) })
通常用于插件
registerModule(path: string | Array<string>, module: Module)
注冊一個動態模塊
unregisterModule(path: string | Array<string>)
卸載一個動態模塊
hotUpdate(newOptions: Object)
熱替換新的 action 和 mutation
mapState(namespace?: string, map: Array<string> | Object): Object
為組件創建計算屬性以返回 Vuex store 中的狀態。第一個參數是可選的,可以是一個命名空間字符串
mapGetters(namespace?: string, map: Array<string> | Object): Object
為組件創建計算屬性以返回 getter 的返回值。第一個參數是可選的,可以是一個命名空間字符串
mapActions(namespace?: string, map: Array<string> | Object): Object
創建組件方法分發 action。第一個參數是可選的,可以是一個命名空間字符串
mapMutations(namespace?: string, map: Array<string> | Object): Object
創建組件方法提交 mutation。第一個參數是可選的,可以是一個命名空間字符串
createNamespacedHelpers(namespace: string): Object
以上就是“Vuex中的API怎么使用”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。