更新時(shí)間:2022-07-21 來(lái)源:黑馬程序員 瀏覽量:
若要理解為什么Vuex是一個(gè)狀態(tài)管理模式,需要先理解Vue中的單向數(shù)據(jù)流機(jī)制。在Vue中,組件的狀態(tài)變化是通過(guò)Vue單向數(shù)據(jù)流的設(shè)計(jì)理念實(shí)現(xiàn)的,示例代碼如下:
Vue中的單向數(shù)據(jù)流主要包含以下3個(gè)部分。
·State:驅(qū)動(dòng)應(yīng)用的數(shù)據(jù)源。
·View:以聲明方式將state映射到視圖。
·Actions:響應(yīng)在View上的用戶輸入導(dǎo)致的狀態(tài)變化。
下面我們通過(guò)一個(gè)示意圖來(lái)演示單向數(shù)據(jù)流的方向,如圖6-4所示。
圖6-4 單向數(shù)據(jù)流
Vue的單向數(shù)據(jù)流增強(qiáng)了組件之間的獨(dú)立性,但是存在多個(gè)組件共享狀態(tài)的時(shí)候,單向數(shù)據(jù)流狀態(tài)就會(huì)被破壞。為了數(shù)據(jù)維護(hù)更加方便,需要將組件共享狀態(tài)抽離出來(lái),用全局單例模式來(lái)管理。在這種模式下,任何組件都能獲取狀態(tài)或者觸發(fā)行為,這就是所謂的Vuex數(shù)據(jù)狀態(tài)管理。Vuex是專門為Vue設(shè)計(jì)的狀態(tài)管理庫(kù),以利用Vue的細(xì)粒度數(shù)據(jù)響應(yīng)機(jī)制來(lái)進(jìn)行高效的狀態(tài)更新。