zhaojs
2023-06-30 6710ed4fc4d67d4f6551d13dd38f7f2b21451d9d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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)
    }
}