Vuex使用教程

一、Vuex簡(jiǎn)述

Vuex其實(shí)就是一個(gè)狀態(tài)管理工具,所謂的狀態(tài),就是數(shù)據(jù),通過(guò)這個(gè)工具進(jìn)行管理某些數(shù)據(jù)。當(dāng)多個(gè)組件都需要同一個(gè)數(shù)據(jù)時(shí),可以將這個(gè)數(shù)據(jù)交給Vuex進(jìn)行統(tǒng)一的管理,組件可以直接引用這個(gè)數(shù)據(jù),避免了組件間繁瑣的層層傳遞的情況。

二、Vuex核心

Vuex有五大核心,state,getter,mutation,action,module。state用來(lái)存放要被管理的數(shù)據(jù),getter相當(dāng)于computed計(jì)算屬性,mutation中用來(lái)定義要修改state中數(shù)據(jù)的方法,action中用來(lái)定義異步的一些方法,module可以將多個(gè)store分成一個(gè)一個(gè)的模塊。

三、Vuex使用

  1. 在vue項(xiàng)目中使用Vuex時(shí),需要先安裝Vuex插件,并且注冊(cè),一般情況下都會(huì)在,在src下新創(chuàng)建一個(gè)store文件夾,下邊有一個(gè)index.vue,在這個(gè)文件中創(chuàng)建store容器實(shí)例.。
// 1. 安裝插件
npm install vuex --save
// 2. 注冊(cè)插件
import Vue from 'vue' 
import Vuex from 'vuex'
Vue.use(Vuex)
  1. 創(chuàng)建vuex實(shí)例,在vuex上提供了一個(gè)Store()方法,用來(lái)創(chuàng)建實(shí)例,將其命名為store,意為倉(cāng)庫(kù)的意思。在Vuex.Store()中傳一個(gè)配置對(duì)象,配置對(duì)象中包括上述的五大核心,如果用不到,也可以不做配置。
const store = new Vuex.Store({
    state: {num: 2}, // 存放數(shù)據(jù)
    getters: {}, // 計(jì)算屬性
    mutations: {}, // 修改state中數(shù)據(jù)的一些方法
    actions: {}, // 異步方法
    modules: {} // store模塊
})
export default store
  1. 在入口文件main.js中引入store。
// main.js
import Vue from 'vue'
import App from './App'
import store from './store/index.vue' // 簡(jiǎn)寫(xiě) import store from './store'

Vue.config.productionTip = false

new Vue({
    el: '#app',
   store: store, // es6 簡(jiǎn)寫(xiě)  直接寫(xiě) store 屬性名和變量名相同
   render: h => h(App)
})
  1. 在頁(yè)面中如何使用store中的數(shù)據(jù)?在使用vuex中的數(shù)據(jù)之前,先使用import導(dǎo)入寫(xiě)好的store。組件中在插值表達(dá)式中使用$store.state.num獲取store中num的數(shù)據(jù)。
<template>
    <div>
        <h2>{{ $store.state.num }}</h2>
    </div>
</template>

四、mapState,mapMutations,mapGetters,mapActions映射

1. // 先從vuex中結(jié)解構(gòu)出四個(gè)方法 
import {mapState, mapMutations, mapGetters, mapActions} from 'vuex'
2. // 在computed計(jì)算屬性中映射state數(shù)據(jù)和getters計(jì)算屬性
computed: {
    ...mapState('模塊名', ['name', 'age'])
    ...mapGetters('模塊名', ['getName'])
}
3. // 在methods方法中映射mutations和actions方法
methods: {
    ...mapMutations('模塊名', ['方法名1','方法名2'])
    ...mapActions('模塊名', ['方法名1','方法名2'])
}
4. 這些數(shù)據(jù)和方法都可以通過(guò)this來(lái)調(diào)用和獲取

以上就是vuex大致的使用方法
全文轉(zhuǎn)自: 辰漪博客

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • vuex簡(jiǎn)介 vuex相當(dāng)于一個(gè)瀏覽器的一個(gè)本地存儲(chǔ),不過(guò)vuex擁有更復(fù)雜的操作,vuex包含了數(shù)據(jù)定義,數(shù)據(jù)過(guò)...
    霸道的黑貓閱讀 268評(píng)論 0 1
  • 使用Vuex的目的就是幫助我們管理多個(gè)組件的狀態(tài)。也就是實(shí)現(xiàn)數(shù)據(jù)共享,實(shí)時(shí)改變和緩存數(shù)據(jù)。 1.安裝vuex:在命...
    muma快起來(lái)閱讀 322評(píng)論 0 0
  • 本內(nèi)容為系列內(nèi)容,全部?jī)?nèi)容請(qǐng)看我的vue教程分類 我的個(gè)人博客 本節(jié)倉(cāng)庫(kù)地址 視頻教程地址 什么是vuex vue...
    lookroot閱讀 319評(píng)論 0 0
  • 前言 Vuex作為Vue官方維護(hù)和推薦的全局狀態(tài)管理插件,是使用Vue框架的前端開(kāi)發(fā)所必須掌握的一個(gè)知識(shí)點(diǎn),實(shí)際上...
    moutory閱讀 1,353評(píng)論 0 0
  • Vuex 是什么? Vuex 是一個(gè)專為 Vue.js 應(yīng)用程序開(kāi)發(fā)的狀態(tài)管理模式它采用集中式存儲(chǔ)管理應(yīng)用的所有組...
    coderlion閱讀 485評(píng)論 0 0

友情鏈接更多精彩內(nèi)容