uni-app 全局变量实现实现数据传递



页面的数据传递有2种方式

1.使用A页面拿到数据后放到全局变量里面,B页面从全局变量里面拿数据
2.A跳转到B的时候带上数据
这里我们介绍第一种

main.js全局变量



赋值
在main.js里面创建一个全局变量例如将后端的接口直接赋值到这里

Vue.prototype.serverUrl =  "http://localhost:8001/bmft/ftcloud";	

main.js

import Vue from 'vue'
import App from './App'
//全局后端url,这个值只能在这里写死,补能在js里面改变
Vue.prototype.serverUrl =  "http://localhost:8001/bmft/ftcloud";	

Vue.config.productionTip = false

App.mpType = 'app'

const app = new Vue({
    ...App
})
app.$mount()



使用

在其他界面的script直接this.serverUrl调用比如

uni.request({
	url: this.serverUrl+'/user/login',
	method: 'POST',
	data: {
		username: 'username',
		password: 'password'
	},
	success: res => {
		console.log(res.data);
	}
  });

**提示**

main.js 全局变量建议使用固定的值,因为在改变这个值的时候,其他界面并不会生效,(也许是main.js会重新加载,如果有大佬知道请留言给我谢谢)





App.vue globalData 全局变量

globalData可以解决mian.js无法重新赋值的问题,建议用来储存会改变的值

赋值
比如说下面我们赋值全局变量text = 'text'

<script>
	export default {
		globalData: {  
		            text: 'text'
		},
		onLaunch: function() {
			console.log('App Launch')
		},
		onShow: function() {
			console.log('App Show')
		},
		onHide: function() {
			console.log('App Hide')
		}
	}
</script>



赋值
其他界面中我们使用getApp().globalData.text来调用全局变量中的text
例如

//从返回值中获得token,然后储存在全局变量globalData中.
getApp().globalData.token = res.data.data.token;



使用
通过同样的手段使用.

var token = getApp().globalData.token;
console.log(token);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JarvanStack

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值