本篇內(nèi)容主要講解“vue中的store怎么使用”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“vue中的store怎么使用”吧!
成都創(chuàng)新互聯(lián)專(zhuān)注于紅安企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),商城建設(shè)。紅安網(wǎng)站建設(shè)公司,為紅安等地區(qū)提供建站服務(wù)。全流程按需定制開(kāi)發(fā),專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)
在vue中,store用于管理狀態(tài)、共享數(shù)據(jù)以及在各個(gè)組件之間管理外部狀態(tài),store是vuex應(yīng)用的核心,也就是一個(gè)容器,包含著應(yīng)用中大部分的狀態(tài),更改store中的狀態(tài)唯一方法是提交mutation。
本文操作環(huán)境:windows10系統(tǒng)、Vue2.9.6版,DELL G3電腦。
Vuex 是一個(gè)專(zhuān)為 Vue.js 應(yīng)用程序開(kāi)發(fā)的狀態(tài)管理模式。它采用集中式存儲(chǔ)管理應(yīng)用的所有組件的狀態(tài),并以相應(yīng)的規(guī)則保證狀態(tài)以一種可預(yù)測(cè)的方式發(fā)生變化。
每一個(gè) Vuex 應(yīng)用的核心就是 store(倉(cāng)庫(kù))。“store”基本上就是一個(gè)容器,它包含著你的應(yīng)用中大部分的狀態(tài) (state)。Vuex 和單純的全局對(duì)象有以下兩點(diǎn)不同:
Vuex 的狀態(tài)存儲(chǔ)是響應(yīng)式的。當(dāng) Vue 組件從 store 中讀取狀態(tài)的時(shí)候,若 store 中的狀態(tài)發(fā)生變化,那么相應(yīng)的組件也會(huì)相應(yīng)地得到高效更新。
你不能直接改變 store 中的狀態(tài)。改變 store 中的狀態(tài)的唯一途徑就是顯式地提交 (commit) mutation。這樣使得我們可以方便地跟蹤每一個(gè)狀態(tài)的變化,從而讓我們能夠?qū)崿F(xiàn)一些工具幫助我們更好地了解我們的應(yīng)用。
store 的核心概念
state 表示了 store 中的狀態(tài),類(lèi)似于 vue 實(shí)例中的 data 屬性。
Mutation
更改 Vuex 的 store 中的狀態(tài)的唯一方法是提交 mutation。
Vuex 中的 mutation 非常類(lèi)似于事件:每個(gè) mutation 都有一個(gè)字符串的 事件類(lèi)型 (type) 和 一個(gè) 回調(diào)函數(shù) (handler)。這個(gè)回調(diào)函數(shù)就是我們實(shí)際進(jìn)行狀態(tài)更改的地方,并且它會(huì)接受 state 作為第一個(gè)參數(shù)
Action
Action 類(lèi)似于 mutation,不同在于:
Action 提交的是 mutation,而不是直接變更狀態(tài)。
Action 可以包含任意異步操作。
一個(gè)示例
const store = new Vuex.Store({ state: { count: 0 }, mutations: { increment (state) { state.count++ } }, actions: { increment (context) { context.commit('increment') } } })
store 的用法
使用 store 之前, 先要安裝 vuex :
npm install vuex
安裝 Vuex 之后,讓我們來(lái)創(chuàng)建一個(gè) store。創(chuàng)建過(guò)程直截了當(dāng)——僅需要提供一個(gè)初始 state 對(duì)象和一些 mutation。
新建 store 文件夾,再新建 index.js 文件:
import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) export default new Vuex.Store({ state: { count: 0 }, mutations: { increment(state){ state.count++; } } })
為了在 Vue 組件中訪問(wèn) this.$store property,你需要為 Vue 實(shí)例提供創(chuàng)建好的 store。Vuex 提供了一個(gè)從根組件向所有子組件,以 store 選項(xiàng)的方式“注入”該 store 的機(jī)制。
也就是在 main.js 文件中導(dǎo)入,并注冊(cè)到 vue 根實(shí)例中:
import store from './store' ... new Vue({ el: "#app", store: store, ...
然后就可以在任意一個(gè) vue 組件的 methods 方法屬性下通過(guò) store.commit('increment')來(lái)調(diào)用:
... methods:{ increment:function(){ this.$store.commit("increment"); console.log(this.$store.state.count); }, ...
效果如下:
到此,相信大家對(duì)“vue中的store怎么使用”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!
網(wǎng)頁(yè)名稱(chēng):vue中的store怎么使用
文章網(wǎng)址:http://chinadenli.net/article8/gshdop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、網(wǎng)站內(nèi)鏈、網(wǎng)站營(yíng)銷(xiāo)、標(biāo)簽優(yōu)化、商城網(wǎng)站、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)