1.Vuex是什么?
學(xué)院派:Vuex
是一個(gè)專為 Vue.js
應(yīng)用程序開發(fā)的狀態(tài)管理模式;集中存儲(chǔ)和管理應(yīng)用的所有組件狀態(tài)。
理解:以上這4個(gè)詞是我們理解的關(guān)鍵。狀態(tài):什么是狀態(tài),我們可以通俗的理解為數(shù)據(jù)。Vue只關(guān)心視圖層,那么視圖的狀態(tài)如何來(lái)確定?我們知道是通過數(shù)據(jù)驅(qū)動(dòng),這里的狀態(tài)管理可以簡(jiǎn)單理解為管理數(shù)據(jù)。集中存儲(chǔ):Vue
只關(guān)心視圖,那么我們需要一個(gè)倉(cāng)庫(kù)(Store
)來(lái)存儲(chǔ)數(shù)據(jù),而且是所有的數(shù)據(jù)集中存儲(chǔ),視圖和數(shù)據(jù)就可以分析。管理:除了存儲(chǔ),還可以管理數(shù)據(jù),也就是計(jì)算、處理數(shù)據(jù)。所有組件狀態(tài):所用的組件共用一個(gè)倉(cāng)庫(kù)(Store
),也就是一個(gè)項(xiàng)目只有一個(gè)數(shù)據(jù)源(區(qū)分模塊modules
)。
總結(jié):Vuex就是在一個(gè)項(xiàng)目中,提供唯一的管理數(shù)據(jù)源的倉(cāng)庫(kù)。
2.有什么用?使用場(chǎng)景?
場(chǎng)景一:處理多組件依賴于同一個(gè)數(shù)據(jù),例如有柱狀圖和條形圖兩個(gè)組件都是展示的同一數(shù)據(jù);
場(chǎng)景二: 一個(gè)組件的行為――改變數(shù)據(jù)――影響另一個(gè)組件的視圖,其實(shí)也就是公用依賴的數(shù)據(jù);
Vuex
將組件公用數(shù)據(jù)抽離,在一個(gè)公共倉(cāng)庫(kù)管理,使得各個(gè)組件容易獲取(getter
)數(shù)據(jù),也容易設(shè)置數(shù)據(jù)(setter
)。
3.源碼初覽
這是Vuex
的源碼文件,總共包含五大部分,Plugins
兩個(gè)注入文件,核心文件index
,幫組文檔helper
,工具文件util.js
我們先看看Index.js文件export的框架,后面具體分析。
export default { Store, install, mapState, mapMutations, mapGetters, mapActions }
后面文章分析Store
倉(cāng)庫(kù)。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注