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) | |||
|  | 	} | |||
|  | } |