一、方法1:路由携参
假设现在有两个界面:界面A和界面B。并要由界面A跳转到界面B,则我们可以使用
uni.navigateTo({})
跳转界面时,将参数附加在URL后,并在B界面的onLoad()获取到这个参数
界面A的代码
<script>
export default {
data() {
return {
paramPageA: [], //在A界面中定义的变量,一会要传送给界面B
}
},
methods: {
onGo() {
uni.request({
url: "接口地址",
method: "GET",
success(res) {
this.paramPageA = res.data.data;
const paramJson = JSON.stringify(this.paramPageA);
//主要看下面这段代码
uni.navigateTo({
url: '/pages/PageB/PageB?
activityList='+encodeURIComponent(paramJson)
})
//先把A界面要传送的参数转化成JSON形式
//然后以encodeURIComponent的形式拼接到URL后方传送
//主要看上面这段代码
}
});
}
}
}
</script>
界面B的代码
onLoad() {
// 从URL参数中获取paramPageA,并解析为JSON对象
const paramPageB = decodeURIComponent(this.$route.query.paramJson);
this.paramPageBJSon = JSON.parse(paramPageB);
//界面B中定义的参数
console.log("接收到的参数", this.paramPageJson);
},
二、方法2:依靠全局变量传参
首先在main.js文件中这样定义全局变量
Vue.prototype.$globalData = { //在此定义所有全局变量
allUrl:"http://localhost:8888", //统一URL地址
myToken:null, //校验token值
paramPage:"", //要传的参数
}
在界面A中这样修改全局变量
this.$globalData.paramPage = res.data.data;
之后在界面B中直接引用即可