談談我對Vuex的理解_第1頁
免費預覽已結束,剩余3頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、談談我對vuex的理解它對于我們來說就像眼鏡,惟獨我們自己知道是否需要它,它好用但不能濫用,我對它的理解,從以下幾個層面開頭綻開:1 .state1)單一狀態樹vuex用法單一狀態樹-是的,用一個對象就包含了所有的應用層級狀態。至此它便作為一個唯一數據源(ssot)而存在。這也意味著,每個應用將僅僅包含一個store實例。單一狀態樹讓我們能夠挺直地定位任一特定的狀態片段,在調試的過程中也能輕易地取得囫圇當前應用狀態的快照。2)在vue組件中獲得vuex狀態最好在根實例中注冊store選項,該store實例會注入到根組件下的全部子組件中,且子組件能通過this.$store拜訪到。而不是在每個需

2、要用法state的組件中需要頻繁地導入。3)mapstate輔助函數當一個組件需要獵取多個狀態時候,可以用法mapstate輔助函數協助我們生成計算屬性,這樣可以簡化代碼書寫。mapstate函數會返回一個對象,然后可以用法對象綻開運算符將它與局部計算屬性混合用法。4)不要濫用vuex用法vuex并不意味著你需要將全部的狀態放入vuex。雖然將全部的狀態放到vuex會使狀態變幻更顯式和易調試,但也會使代碼變得冗長和不直觀。假如有些狀態嚴格屬于單個組件,最好還是作為組件的局部狀態。你應當按照你的應用開發需要舉行權衡和確定。2. gettersgetters用來從store中的state中派生出一

3、些狀態,例如對列表舉行過濾并計數getters可以認為是store的計算屬性。和state類似,有mapgetters輔助函數。3. mutations更改vuex的store中的狀態的唯一辦法是提交mutation。vuex中的mutations十分類似于大事:每個mutation都有一個字符串的大事類型(type)和一個回調函數(handler)。這個回調函數就是我們實際舉行狀態更改的地方,并且它會接受state作為第一個參數1)提交載荷(payload)你可以向mit傳入額外的參數,即mutation的載荷(payload):2)mutations需遵守vue的響應規章3)用法常量替代m

4、utation大事類型4)mutation必需是同步函數5)在組件中提交mutations你可以在組件中用法this.$mit(&39;xxx&39;)提交mutation,或者用法mapmutations輔助函數將組件中的methods映射為mit調用(需要在根節點注入store)。4. actionsactions類似于mutation,不同在于:· actions提交的是mutation,而不是挺直變更狀態。· actions可以包含隨意異步操作。1)在組件中分發action你在組件中用法this.$store.dispatch(&39;xxx&39;)分發a

5、ction,或者用法mapactions輔助函數將組件的methods映射為store.dispatch調用(需要先在根節點注入store)2)組合actionsaction通常是異步的,那么如何知道action什么時候結束呢?更重要的是,我們如何才干組合多個action,以處理越發復雜的異步流程?首先,你需要明了store.dispatch可以處理被觸發的action的回調函數返回的promise,并且store.dispatch照舊返回promise。5. modules因為用法單一狀態樹,應用的全部狀態會集中到一個比較大的對象。當應用變得十分復雜時,store對象就有可能變得相當臃腫。為了解決以上問題,vuex允許我們將store分割成模塊(module)。每個模塊擁有自己的state、mutation、action、getter、甚至是嵌

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論