27 lines
		
	
	
		
			769 B
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			769 B
		
	
	
	
		
			JavaScript
		
	
	
	
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)
 | 
						||
	}
 | 
						||
} |