Vuex 原理


1.Vuex是什么?

學院派:Vuex 是一個專為 Vue.js 應用程序開發的狀態管理模式;集中存儲和管理應用的所有組件狀態。

理解:以上這4個詞是我們理解的關鍵。狀態:什么是狀態,我們可以通俗的理解為數據。Vue只關心視圖層,那么視圖的狀態如何來確定?我們知道是通過數據驅動,這里的狀態管理可以簡單理解為管理數據。集中存儲:Vue只關心視圖,那么我們需要一個倉庫(Store)來存儲數據,而且是所有的數據集中存儲,視圖和數據就可以分析。管理:除了存儲,還可以管理數據,也就是計算、處理數據。所有組件狀態:所用的組件共用一個倉庫(Store),也就是一個項目只有一個數據源(區分模塊modules)。

總結:Vuex就是在一個項目中,提供唯一的管理數據源的倉庫。

2.有什么用?使用場景?

場景一:處理多組件依賴於同一個數據,例如有柱狀圖和條形圖兩個組件都是展示的同一數據;

場景二: 一個組件的行為——改變數據——影響另一個組件的視圖,其實也就是公用依賴的數據;

Vuex將組件公用數據抽離,在一個公共倉庫管理,使得各個組件容易獲取(getter)數據,也容易設置數據(setter)。

3.源碼初覽

這是Vuex的源碼文件,總共包含五大部分,Plugins兩個注入文件,核心文件index,幫組文檔helper,工具文件util.js

我們先看看Index.js文件export的框架,后面具體分析。

?
1
2
3
4
5
6
7
8
export default {
   Store, 
   install,
   mapState,
   mapMutations,
   mapGetters,
   mapActions
         }

后面文章分析Store倉庫。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

 

原文鏈接:https://segmentfault.com/a/1190000009096457


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM