導航:首頁 > 使用方法 > vuex常用方法以及使用場景

vuex常用方法以及使用場景

發布時間:2025-03-11 14:15:23

① vuex:弄懂mapState、mapGetters、mapMutations、mapActions

在引入vuex後,我們需要在state中定義變數,類似於vue中的data,通過state來存放狀態。注冊兩個組件分別引入到app.vue中。

在vue組件中,vhome組件和vabout組件內容顯示了相應的功能。有了vuex,我們不必在考慮組件之間的傳值,直接就可以通過$store來獲取不同的數據,但是當需要vuex中的多個數據時,這種方法就顯得有些啰嗦。這時,我們可以將多個數據定義在computed中,這樣引入的時候就方便了很多。

為了進一步簡化代碼,引入了mapState輔助函數。使用mapState方法,可以將多個數據的引入代碼簡化為一句,相當於下面這些代碼。記住:用mapState等這種輔助函數的時候,前面的方法名和獲取的屬性名是一致的。

如果需要自定義計算屬性,可以使用es6中的展開運算符。比如,如果我們需要計算一些自定義屬性,可以使用這樣的方式來引入。

在處理數據時,可以使用getters,相當於vue中的計算屬性,通過getters進一步處理,得到我們想要的值,並且允許傳參,第一個參數就是state。這樣可以使代碼更加簡潔和靈活。

在代碼中定義的需要修改數據的操作,我們使用mutations。它類似於vue中的methods,需要通過commit來調用其裡面的方法,並且可以傳入參數,第一個參數是state,第二個參數是載荷(payLoad),也就是額外的參數。代碼如下,模板部分和js部分的引入展示了mutations的使用。

為了簡化代碼,引入了mapMutations,通過它將方法映射過來,這樣就可以避免在代碼中頻繁地寫出多個mutations方法,使得代碼更加整潔。但是,為什麼要繞一圈,從mutations裡面去改state呢?實際上,mutations不僅可以做賦值操作,還可以進行類似埋點的操作,如果從mutations中操作,可以被檢測到,可以更方便地使用調試工具調試,調試工具可以檢測到實時變化,而直接改變state中的屬性,則無法實時監測。

為了避免字元串寫錯導致的問題,推薦使用常量替代Mutation事件類型。代碼如下,將方法名字定義為一個常量,這樣寫的好處是不容易寫錯,且當寫錯時,eslint可以提示錯誤位置。同時,可以新建一個文件(mutation_type.js)專門存儲這些常量,然後在store/index.js中引入。

在實際開發中,通常需要在actions中處理非同步操作,如請求數據。actions類似於mutation,但區別在於action可以提交mutation,並且action包含非同步操作,比如axios請求,可以將這些操作都放在action中。在actions中定義的方法默認就是非同步的,並且返回promise。在vue部分,可以使用mapActions(['getUserInfo'])來替代直接引入多個方法,這樣更加簡潔。

在獲取用戶信息的場景中,通常在頁面載入後,通過調用actions中的getUserInfo方法來獲取用戶信息。當登錄後,需要得到用戶信息,這時,首先想到的就是通過actions來操作mutations從而操作state。在actions中定義getUserInfo方法,然後在vue部分調用此方法,通過commit調用setUserInfo,將用戶信息作為參數傳入,將相對應的屬性值賦值給state,完成這一過程的操作。在實際操作中,可以使用解構的方式,讓代碼更加清晰和便捷。

閱讀全文

與vuex常用方法以及使用場景相關的資料

熱點內容
畢業論文問卷調查的方法論分析 瀏覽:66
家長如何用正確有效的方法 瀏覽:48
判斷病句的常用方法 瀏覽:910
芹菜籽的功效與作用及食用方法 瀏覽:274
識別花的方法視頻 瀏覽:74
新手跑步方法技巧 瀏覽:969
怎樣做小狗最簡單的方法 瀏覽:158
地暖調試安裝方法 瀏覽:300
三七片的鑒別方法化學 瀏覽:379
水泥沾衣服有什麼方法能洗干凈 瀏覽:794
市場報告常用的預測方法有 瀏覽:278
食用玫瑰扦插時間及方法 瀏覽:258
現代225風扇皮帶安裝方法 瀏覽:842
鑒別水晶有什麼方法 瀏覽:502
發現燃氣泄漏正確的處理方法有哪些 瀏覽:424
美的料理機使用方法 瀏覽:193
新鮮石斛作用及食用方法 瀏覽:378
手機清理油漆的方法 瀏覽:379
快速簡單賺錢方法 瀏覽:80
糧食酒看外觀鑒別方法 瀏覽:481