一.使用背景
∵ :vue中各個組件之間傳值咱肯定用過吧,假如一個很多組件的頁面互相傳值一定很痛苦
∴ :==>在vue中我們可以使用vuex來保存我們需要管理的狀態值,值一旦被修改,所有引用 該值的地方就會自動更新。
二.安裝及其搭建過程
1.安裝vuex
npm install vuex --save
2.src目錄下新建stroe文件,在其下新建index.js
3.main.js下引入並聲明store對象
三.實現過程
1.關於vuex中的State:
·1.1 創建Vuex的數據源——state,我們需要的數據保存在state中
·1.2 在頁面中引用 {{this.$store.state.count}}
·1.3 頁面顯示
2.關於Vuex中的Getter:
相當於vue中的computed計算屬性,getter 的返回值會根據它的依賴被緩存起來,且只有當它的依賴值發生了改變纔會被重新計算,這裏我們可以通過定義vuex的Getter來獲取,Getters 可以用於監聽、state中的值的變化,返回計算後的結果。
2.1
3.關於Vuex中的Mutations:
如果我們需要修改count值怎麼辦?==> 唯一的方法就是提交mutation來修改
3.1在頁面中添加兩個按鈕,一個加1,一個減1;分別對應add和reduce function,然後在裏面直接提交mutations中的方法修改值:
4.關於Vuex中的Actions:
當點擊2次後值12變成了3;頁面上的值是改變了;達到了修改store中狀態值的目的,但是,官方並不介意我們這樣直接去修改store裏面的值,而是讓我們去提交一個actions,在actions中提交mutation再去修改狀態值,==>修改index.js文件,先定義actions提交mutation的函數:
5.如果我們需要指定加減的數值,那麼我們直接傳入dispatch中的第二個參數,然後在actions中的對應函數中接受參數在傳遞給mutations中的函數進行計算
VueX大概就是這樣
-----------------------------分割線---------------------------------
這是vue官網給出的工作流程
一定先看完上邊這個案例再來看這兒昂
鏈接�:https://www.jianshu.com/p/2e5973fe1223