一、方法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中直接引用即可