vuex由五部分組成:
- state :狀態量
- mutations :操作數據源
- getters : 計算屬性
- actions : 分發mutations
- modules: vuex模塊化
項目中有哪些地方會用到vuex
- 若只有一個地方用到vuex(用戶登錄信息),則無需使用modules。
- 若有多個地方用到vuex,應該使用modules。
這篇文章主要是modulse的使用
uni-app項目用用戶信息的調接口
2、模塊化vuex思想:
new Vuex.Store({
modules:{//模塊化
users:{
state:{},
mutations:{},
getters:{},
actions:{}
},
car:{
state:{},
mutations:{},
getters:{},
actions:{}
}
}
})
詳細寫法:
//users.js文件夾
import state from "./state.js"
import mutations from "./mutations.js"
export default{
state,
mutations
}
//index.js文件夾
import Vue from "vue"
import Vuex from "vuex"
import users from "./modules/users/users.js"
Vue.use(Vuex)
export default new Vuex.Store({
modules:{
users
}
})
//main.js文件夾
import Vue from 'vue'
import App from './App'
import store from "@/store/index.js"
const app = new Vue({
...App,
store
})
app.$mount()
//script裏調用
import {mapMutations} from "vuex"
//方法裏解構
methods:{
...mapMutations(["getUserInfo"]),
btn(res){//點擊按鈕調用
this.getUserInfo(res.data)
}
}
文件夾結構(uni-app項目)