vue vux 使用 vux的理解 (上)


我們先看下官網的描述 https://vuex.vuejs.org/zh/ 

總結一句話 ”Vuex 是一個專為 Vue.js 應用程序開發的狀態管理模式“

里面分狀態自管理應用包含以下幾個部分:

  • state,驅動應用的數據源;
  • view,以聲明方式將 state 映射到視圖;
  • actions,響應在 view 上的用戶輸入導致的狀態變化。

里面基本有哪些方法

  • vue的全局狀態管理器

  • 實現組件之間跨層傳遞數據

  • 實現數據與視圖響應式更新

  • state //相當於vue中的data,用來存儲數據的,在vue組件中獲取,用 $store.state.數據名字

  • geeters //從現有數據獲取到新的數據`,相當於vue組件中的`computed`

  • mutations //mutations 方法,操作數據,相當於vue組件中的methods

  • actions

    • 關於Ajax異步的方法需要放在actions中,執行異步的方法

    • actions 方法,可以執行異步操作方法,相當於vue組件中的methods

    • 在vue組件中使用:$store.dispatch("方法名字",data);

    • 使用:方法名字({commit},[參數]) { ajax方法};

      • 調用actions中的方法時
      • $store.dispatch("方法名字");
      • 方法名字:就是在actions中定義的方法的名字
      • 如下圖
      •  

         

  • modules

    • 模塊
    • Vuex允許將store分割成模塊(module)
    • 每一個模塊都有vuex中的所有方法,statemutationsactionsgetters
    • 使用: 在store文件夾下,創建modules文件夾,在其下在創建對應的vuex模塊:比如:登錄模塊的login.js
      • state // state就是存儲數據的
      • mutations // 模塊中的mutations也是沒有命名空間的,所以也可以直接使用
      • actions // 其中vuex中的{commit}解構vuex中的方法,模塊中的{context},得到上下文中的所有方法
      • getters // 在導出的時候添加模塊的命名空間
  • namespaced----命名空間

 

逼逼這么多直接上個真實項目中這么使用

好現在先開始基本項目中使用的demo 

第一先要理解  mapState、mapGetters、mapMutations、mapActions 這些方法的使用 都是vuex 中的 

總結一句話就 vuex 中基本方法的語法糖形式使用

官網直達https://vuex.vuejs.org/zh/api/#hasmodule

好開始我們的真實項目中 

第一 我在項目當中的src 文件下建的以登錄文件

 

 

 然后我們在引入 mapMutations

 

 

 然后在methods 方法中寫 

 

 

 

 

 

在下一步

 

我在看回 在src 下建的store 下 login 文件

大致講解下里面定義:

1.state 是存儲傳過來的數據

2.mutations 定義的方法 這么使用要做什么邏輯等等

3. export default 然后在把他們導出去 注意  //namespaced: true 的方式使其成為帶命名空間的模塊。保證在變量名一樣的時候,添加一個父級名拼接。

 

 

 

 

 現在為我們干完了一半了 ,完成這么存儲得到vuex 中 ,

下一篇將這么拿出這么使用。


免責聲明!

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



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