您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Vuex屬性和作用的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
VueX是一個專門為 Vue.js 應用設計的狀態管理架構,統一管理和維護各個vue組件的可變化狀態(你可以理解成 vue 組件里的某些 data )。
vuex 可以理解為一種開發模式或框架。比如 PHP 有 thinkphp ,java 有 spring 等。
通過狀態(數據源) 集中管理驅動組件的變化(好比 spring 的 IOC 容器對 bean 進行集中管理)。
Vuex有五個核心概念,state,
getters
, mutations
, actions
, modules
。
應用級的狀態集中放在 store 中; 改變狀態的方式是提交 mutations ,這是個同步的事物; 異步邏輯 應該封裝在 action 中。
Cuex借鑒了 Flux、Redux、和 The Elm Architecture。與其他模式不同的是,Vuex 是專門為 Vue.js 設計的狀態管理庫,以利用 Vue.js 的細粒度數據響應機制來進行高效的狀態更新。
狀態管理: 簡單理解就是統一管理和維護各個vue組件的可變化狀態(你可以理解成vue組件里的某些data)
state
:單一狀態樹,用一個對象就包含了全部的應用層級狀態。
getters
:就像計算屬性一樣,getter 的返回值會根據它的依賴被緩存起來,且只有當它的依賴值發生了改變才會被重新計算。
mutations
:每個mutation都有一個字符串的事件類型 (type) 和一個回調函數 (handler)。
action
:action 類似于mutation,不同在于:action 提交的是mutation,而不是直接變更狀態;action可以包含任意異步操作。
modules
:模塊化vuex,每個模塊擁有自己的 state、mutation、action、getter、甚至是嵌套子模塊。
1 、Vuex 就是一個倉庫,倉庫里面放了很多對象。其中 state 就是數據源存放地,對應于與一般 Vue 對象 里面的 data。
2 、state 里面存放的數據是響應式的,Vue 組件從 store 中讀取數據,若是 store 中的數據發生改變,依賴 這個數據的組件也會發生更新。
3 、它通過 mapState 把全局的 state 和 getters 映射到當前組件的 computed 計算屬性中。
1 、getters 可以對 State 進行計算操作,它就是 Store 的計算屬性
2 、 雖然在組件內也可以做計算屬性,但是 getters 可以在多組件之間復用
3 、 如果一個狀態只在一個組件內使用,是可以不用 getters
1、mutation是一個對象包含多個直接更新state的方法(回調函數)
2、只能包含同步的代碼, 不能寫異步代碼
1 、action 類似于 mutation ,不同在于:
2 、action 提交的是 mutation ,而不是直接變更狀態。
3 、action 可以包含任意異步操作
雖然 Vuex 可以幫助我們管理共享狀態,但也附帶了更多的概念和框架。這需要對短期和長期效益進行權衡。
如果不打算開發大型單頁應用,使用 Vuex 可能是繁瑣冗余的。確實是如此——如果您的應用夠簡單,您最好不要使用 Vuex。一個簡單的global event bus就足夠您所需了。但是,如果您需要構建是一個中大型單頁應用,您很可能會考慮如何更好地在組件外部管理狀態,Vuex 將會成為自然而然的選擇。
感謝各位的閱讀!關于“Vuex屬性和作用的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。