vuex的使用和簡易實現(xiàn)
這里記錄一下vuex的使用和vuex的簡易實現(xiàn)
首先創(chuàng)建對應的store目錄和對應的入口index.js
import Vue from 'vue'
import Vuex from 'vuex'
import products from './modules/products'
import cart from './modules/cart'
Vue.use(Vuex)
export default new Vuex.Store({
strict: process.env.NODE_ENV !== 'production',
state: {
count: 0,
msg: 'Hello Vuex'
},
getters: {
reverseMsg (state) {
return state.msg.split('').reverse().join('')
}
},
mutations: {
increate (state, payload) {
state.count += payload
}
},
actions: {
increateAsync (context, payload) {
setTimeout(() => {
context.commit('increate', payload)
}, 2000)
}
},
modules: {
products,
cart
}
})
- 首先注冊vuex的插件
- 開發(fā)階段開啟strict嚴格模式
- 配置初始的state
- 配置對應的getters
- 配置對應的mutations 無副作用的函數(shù)更新
- 配置actions在此做異步處理
- 最后配置模塊
- 模塊中配置:
const state = {}
const getters = {}
const mutations = {}
const actions = {}
export default {
namespaced: true,
state,
getters,
mutations,
actions
}
配置模塊命名空間namespaced:true 導入store時的模塊名
使用的時候

可以 通過一些對應的vuex提供的方法把store中的對應屬性和方法拿到組件中
vue父子通信



或者就是自定義 組件的 v-model
非父子組件:Event Bus
我們可以使用一個非常簡單的 Event Bus 來解決這個問題:



還有一種需要注意的,外部props轉(zhuǎn)換為內(nèi)部state
name: 'ArticleMeta',
props: {
article: {
type: Object,
required: true
},
user: {
type: Object
}
},
data () {
return {
currentArticle: this.article, isDelete: false
}
},
以上就是vuex的使用和簡易實現(xiàn)的詳細內(nèi)容,更多關(guān)于vuex的使用和實現(xiàn)的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Vite結(jié)合Vue刪除指定環(huán)境的console.log問題
這篇文章主要介紹了Vite結(jié)合Vue刪除指定環(huán)境的console.log問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03
vue表單驗證rules及validator驗證器的使用方法實例
在vue開發(fā)中,難免遇到各種表單校驗,下面這篇文章主要給大家介紹了關(guān)于vue表單驗證rules及validator驗證器使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下2022-07-07
Vue 樣式切換及三元判斷樣式關(guān)聯(lián)操作
這篇文章主要介紹了Vue 樣式切換及三元判斷樣式關(guān)聯(lián)操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08
vue3使用vue-router及路由權(quán)限攔截方式
這篇文章主要介紹了vue3使用vue-router及路由權(quán)限攔截方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-04-04

