1、将从服务器请求的数据作为全局变量(全局变量模块挂载到Vue.prototype)
<script> import Vue from 'vue' //注意,要在这个页面中引入vue,不然下面的Vue.prototype会报错 export default {
data(){
return{
} }, methods:{
login(){
const userMsg = {
userId : 123, userName : '张三', userSite : '上海市浦东新区' } Vue.prototype.$userMsg = userMsg; //将全局变量模块挂载到Vue.prototype中 this.$router.push({
path:'/index2'}); }, } } </script>
在另一个页面使用:
alert(this.$userMsg.userSite); //拿到在login.vue中的用户位置
2、在全局的js中自定义全局变量
命名global.js为全局js,自定义全局变量:
const host = 'localhost:8080'; const token = 'abcdefg'; const city = '上海'; export default{
host, //地址 token, //用户token信息 city //位置 }
在vue页面中使用:
<template> <div> <button @click="clickMe">点我
button>
div>
template> <script> import global_msg from '../js/global.js' //注意文件路径,实际路径以项目目录结构为准 export default {
data(){
return{
} }, methods:{
clickMe(){
alert(global_msg.host); //localhost:8080 } } }
script>
3、在main.js中将global.js挂载到Vue.prototype中
将上面例子中的global.js在入口文件main.js中引入并挂载:
import global_msg from './js/global.js' //注意文件路径,实际路径以项目目录结构为准 Vue.prototype.$global_msg = global_msg;
在页面中使用:
<template> <div> <button @click="clickMe">点我
button>
div>
template> <script> export default {
data(){
return{
} }, methods:{
clickMe(){
alert(this.$global_msg.host); //localhost:8080 } } }
script>
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/221663.html原文链接:https://javaforall.net
