1. 程式人生 > >前段框架——VueX

前段框架——VueX

嗯~  這個vuex是有點不太好理解的,身為一個後端程式猿研究了好幾天的前端的東西,

也是很不容易啊。

 

我們先來簡單的說一下vuex的用處:

一個頁面有很多表單 , 我試圖將表單寫成一個單檔案元件 , 但是表單 ( 子元件 ) 裡的資料和頁面 ( 父元件 )

按鈕互動的時候 , 它們之間的通訊很麻煩 。

打個比方,當你要寫購物車的時候,你會把子元件中的商品,新增到購物車中,在新增到購物車的過程中,你可以用元件傳值,一級一級的傳,你也可以直接新增到購物車中,但是你又怎麼確定,你在新增購物車的過程中沒有別的操作,像這種互動很多的情況下,我們就需要一個全域性的靜態區,來把要新增到購物車的商品全部新增到靜態區中,然後統一新增到購物車中。

 

好,我們進入正題。vuex和get請求一樣,都是要在工程建立好之後,在這裡一定提一下,使用Vuex時,不能起名為Vuex。

因為我剛開始建立新工程的時候,可是踩了很多坑的~

 在工程下得終端輸入:(每建立新工程,都要下載的)

 npm install vuex --save      這條指令,來下載vuex檔案的。

下載完畢之後,來到這個資料夾下,找到一個叫vuex的檔案(在最下面) ,就說明這個功能已經是你的了~

 

使用vuex:

為了便於日後的維護,我們分開寫更好,我們在src目錄下,新建一個store資料夾,然後在裡面新建一個index.js。

這個index.js就是在上面說的靜態區。

 

然後我們在mian.js中配置:

 

 

先大致說一下這個index.js檔案,這個檔案中,分為state,mutations, actions

state用法:this.$store.state.屬性名  (可讀寫)                   —— 給XXX賦值

actions : this.$store.dispath('action方法名' ,引數)              —— 對外呼叫,mutations中的值(因為mutations不能對外傳值) 

mutations : 由對應action觸發(context.commit( 'mutations方法名' ) ,引數)            —— 把自己的值存入actions中

一般mutations和一個actions對應

 

 

 

 

下面就用到了actions,上面也說了因為mutations不能對外,所以就會用到actions來將mutations方法對外