一数冬、VueX 是什么非洲?
? ? ? ? ? VueX是作用于vue.js 的項(xiàng)目開發(fā)所設(shè)計(jì)的狀態(tài)管理程序段誊,比如說在同時(shí)開發(fā)一個(gè)項(xiàng)目的時(shí)候晶框,陸續(xù)的使用組件開始傳遞參數(shù)的時(shí)候排抬,來(lái)同步data值。如果一旦項(xiàng)目龐大授段,維護(hù)與管理就成為了很棘手的任務(wù)蹲蒲,所以 Vue 在為了多個(gè)組件頻繁傳參中 使用的值,便提供了一個(gè)管理系統(tǒng) VueX侵贵。所以在之后我們便可以把使用的值 定義 到 VueX中届搁,便可以在 Vue中使用
二、如何安裝 VueX窍育?
? ? ? ?由于VueX是在學(xué)習(xí) VueCli 后進(jìn)行的卡睦,所以在下文出現(xiàn)的項(xiàng)目的目錄請(qǐng)參照 VueCli 2.x 構(gòu)建的目錄。如果你已經(jīng) 完成構(gòu)建 Vue 的項(xiàng)目后蔫骂,并且已轉(zhuǎn)到該項(xiàng)目文件下么翰,我們便可以安裝了
Npm 安裝 VueX? :? ??npm??i vuex -s
安裝完成之后是這樣的:
三、怎樣使用辽旋?
3.1??初始化 store 下創(chuàng)建 index.js 中的內(nèi)容
? ? ? ? ? 首先要先創(chuàng)建一個(gè)文件夾 名稱為 store(注意? : 它是一個(gè)倉(cāng)庫(kù))浩嫌,?然后再該文件夾中創(chuàng)建一個(gè)新的文件名稱為 index.js 之后便在文件中打入下面的內(nèi)容
3.2? 然后再將 store 掛載到 當(dāng)前的 Vue 實(shí)例當(dāng)中去
3.3? 在組件中使用 VueX
例如我們?cè)贏pp.vue中,我們要將state中定義的n拿來(lái)在h2標(biāo)簽中顯示
四 补胚、VueX中的核心內(nèi)容
? ? ? ? ?在VueX對(duì)象中码耐,其實(shí)不止有state,還有用來(lái)操作state中數(shù)據(jù)的方法,以及當(dāng)我們需要對(duì)state中的數(shù)據(jù)需要加工的方法等成員溶其。
4.1 Vue 的工作流程圖
鏈接圖片
https://upload-images.jianshu.io/upload_images/16550832-20d0ad3c60a99111.png?imageMogr2/auto-orient/strip|imageView2/2/format/webp
首先骚腥,Vue組件如果調(diào)用某個(gè)VueX的方法過程中需要向后端請(qǐng)求時(shí)或者說出現(xiàn)異步操作時(shí),需要dispatchVueX中actions的方法瓶逃,以保證數(shù)據(jù)的同步束铭±椋可以說,action的存在就是為了讓mutations中的方法能在異步操作中起作用契沫。
如果沒有異步操作带猴,那么我們就可以直接在組件內(nèi)提交狀態(tài)中的Mutations中自己編寫的方法來(lái)達(dá)成對(duì)state成員的操作。注意懈万,不建議在組件中直接對(duì)state中的成員進(jìn)行操作拴清,最后被修改后的state成員會(huì)被渲染到組件的原位置當(dāng)中去。