vue項目配置vuex


在vue項目中各組件之間傳值非常的好用,但是當組件數量多的時候,就會感覺到多個組件之間傳值就會變的非常痛苦。因此就需要使用vuex來管理數據值,這樣在任何頁面不需要傳值過來的情況下就可以拿到我們想要的值,值被修改后,所有用到該值得地方都會修改。

首先創建完vue項目后安裝vuex,一般創建vue項目的過程中會自動安裝vuex,在此我們從頭開始,默認vue項目中沒有vuex。

在項目根目錄打開cmd命令窗口,輸入以下命令:

npm install vuex --save

安裝成功之后會看到這個界面

 

然后輸入命令啟動項目:

npm run serve

成功之后看到以下結果

 

 

 

 

 

 

 隨便復制一個路徑在瀏覽器打開,會看到如下頁面

 

 

 看到這個界面說明項目啟動成功,然后我們在項目的src目錄下新建一個目錄store,在該目錄下新建一個index.js文件,我們用來創建vuex實例,然后在該文件中引入vue和vuex,創建Vuex.Store實例保存到變量store中,最后使用export default導出store:

 

 

 然后我們在main.js文件中引入該文件,在文件里面添加 import store from ‘./store’;,再在vue實例全局引入store對象;

 

 

 然后我們就可以開始編寫我們的vuex業務代碼了,在vuex中有四個屬性:State,Getters,Mutations,Actions。我們一一介紹

1.State

vuex中的數據源,一般用來保存數據,例如登錄人的id,name,等等信息,首先在store/index.js文件里面寫入如下代碼

 

 

 然后在home.vue中用

 

 這個時候頁面上就得到了我們的1

 

 Getters

 Getter相當於vue中的computed計算屬性,getter 的返回值會根據它的依賴被緩存起來,且只有當它的依賴值發生了改變才會被重新計算,這里我們可以通過定義vuex的Getter來獲取,Getters 可以用於監聽、state中的值的變化,返回計算后的結果,這里我們修改store/index.js文件如下:

 接着在home.vue中添加以下代碼

 然后在頁面中可以看到修改后的值

 

 Mutations

數據我們在頁面是獲取到了,但是如果我們需要修改count值怎么辦?如果需要修改store中的值唯一的方法就是提交mutation來修改,在store/index.js添加以下代碼

 

 

 接着在home.vue中添加兩個按鈕,一個加,一個減,點擊加按鈕執行addFun方法,點擊減按鈕執行subtractFun方法,然后在里面直接提交mutations中的方法修改值

 

 

 點擊頁面的加或減會看到值改變

 

 Actions

我們看到,當點擊三次后值從2變成了-1;頁面上的值是改變了;我們達到了修改store中狀態值的目的,但是,官方並不建議這樣直接去修改store里面的值,而是讓我們去提交一個actions,在actions中提交mutation再去修改狀態值,接下來我們修改store/index.js文件,先定義actions提交mutation的函數:

 

 

 接着在home.vue做修改

運行項目效果一致

 

我們這里已經實現了一個基本的vuex修改狀態值的完整流程,如果想要加減指定的數值,可以通過傳參,在home.vue中修改代碼如下

 

 接着在store/index.js中接收參數

 

 查看運行效果

 


免責聲明!

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



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