|
- // $u.mixin.js
-
- 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 = {
- mounted() {
- // 将vuex方法挂在到$u中
- // 使用方法为:如果要修改vuex的state中的user.name变量为"史诗" => this.$u.vuex('user.name', '史诗')
- this.$u.vuex = (name, value) => {
- this.$store.commit('$uStore', {
- name,
- value
- })
- }
- },
- computed: {
- // 将vuex的state中的所有变量,解构到全局混入的mixin中
- ...mapState($uStoreKey)
- }
- }
|