vue 中vuex的最簡單使用


  首先我們要知道什么是vuex,請看官方的解釋:

“Vuex 是一個專為 Vue.js 應用程序開發的狀態管理模式。它采用集中式存儲管理應用的所有組件的狀態,並以相應的規則保證狀態以一種可預測的方式發生變化。Vuex 也集成到 Vue 的官方調試工具 devtools extension,提供了諸如零配置的 time-travel 調試、狀態快照導入導出等高級調試功能。”

  是不是看完了也是一頭霧水,那就對了,因為官方的解釋,都是在用一個概念解釋另一個概念。所以,看完了解釋,初學者不明白很正常。姑且把這段話放在這里,不用着急理解他,只要知道有這么回事就行。

  我自己理解的vuex,就是vue給提供的一個官方的響應式的全局的按照自己的規則調用的,相當於html5中的storage的一樣的插件。

  官方:這個就不用解釋了。

  全局的:這個就和storage一樣了,你只要在main.js全局注冊了,那么任何一個組件,咱們都可以直接調用。

  響應式的:這個就是說,只要我們在任意組件改變這個里面的變量,而后,vue會響應式的把所有的組件中用到這個變量的組件更新;

  按照自己的規則調用:這個就是說,這個組件,既然是響應式的,那么我們想要更改一個變量,需要按照官方給定的方式來更改;

廢話不多說,直接看代碼:

  

 1 //store中的index.js文件
 2 import Vue from 'vue'
 3 import Vuex from 'vuex'
 4 
 5 Vue.use(Vuex);
 6 
 7 const store = new Vuex.Store({
 8     state:{
 9       //用來定義變量的,相當於vue中的data
10       firstname:"哈哈",
11       lastname:"先生"
12     },
13     getters:{
14       //相當於computed
15       fullname(state){ //這里會有一個默認的參數,就是state對象
16         return state.firstname + state.lastname;
17       }
18     },
19     mutations:{
20       // 這個比較特殊,這個里面的方法是用來同步提交到state中的。也就是說,當一個組件想要改變state中的值的話,
21       // 必須通過mutations里面的方法才可以!
22       changename(state,newName){ //這里會有兩個參數,一個同樣是state對象,另一個是傳過來的參數
23         state.firstname = newName;
24       }
25     }
26 })
27 export default store

  然后我們在一個組件中想要調用mutations中的方法,需要下面的方式:

1   changename_fun(){ //vue中methods的方法
2       this.$store.commit("changename","這里是我們傳遞的參數") // 這種傳參的方式叫做提交載荷(Payload)
3     },

這樣的話,我們就能更新vuex中的state變量了。

  如果只是想使用vuex中的變量的話,我們直接在想要用的地方,使用下面的代碼就可以了

1 let value = this.$store.state.想要使用的變量的名稱

以上就是vuex中最簡單的應用。剩下的還有就是actions是用來異步提交的,然后module是用來模塊划分的。剩下的內容,算是進階應用,等到有時間了,自己在總結一下


免責聲明!

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



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