init
This commit is contained in:
27
store/$u.mixin.js
Normal file
27
store/$u.mixin.js
Normal file
@@ -0,0 +1,27 @@
|
||||
import { mapState } from 'vuex'
|
||||
import store from "@/store"
|
||||
|
||||
// 尝试将用户在根目录中的store/index.js的vuex的state变量,全部加载到全局变量中
|
||||
let $uStoreKey = [];
|
||||
try{
|
||||
$uStoreKey = store.state ? Object.keys(store.state) : [];
|
||||
}catch(e){
|
||||
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
beforeCreate() {
|
||||
// 将vuex方法挂在到$u中
|
||||
// 使用方法为:如果要修改vuex的state中的user.name变量为"史诗" => this.$u.vuex('user.name', '史诗')
|
||||
// 如果要修改vuex的state的version变量为1.0.1 => this.$u.vuex('version', '1.0.1')
|
||||
this.$u.vuex = (name, value) => {
|
||||
this.$store.commit('$uStore', {
|
||||
name,value
|
||||
})
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
// 将vuex的state中的所有变量,解构到全局混入的mixin中
|
||||
...mapState($uStoreKey)
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user