UNIAPP动态路由传参(传递对象)
如果是传递某一个参数
uniapp路由跳转写法:
openWeb(id){
uni.navigateTo({
url:'/pages/index/index?id=' + id
}); // 这个id就是需要传递过去的参数
}
但是我们如果要传递两个或者多个参数呢,写法都差不多,但是需要用上JSON.stringify();
openWeb(obj){
uni.navigateTo({
url:'/pages/index/index?id=' + obj
}); // 这个obj就是需要传递过去的参数对象
}
openWeb(obj){
uni.navigateTo({
url:'/pages/index/index?id=' + JSON.stringify(obj)
}); // 这个obj就是需要传递过去的参数对象
}
下面再看几张截图:
先看我们要传递过去的两个实参

首先我们不用JSON.stringify();

然后我们再来看一下我们使用JSON.stringify();

后我们再来看一下,两者分别打印的区别:

可以看到,如果没用JSON.stringify();我们打印的是一个对象,但是对象中只有一个obj属性,值是object字符串;
加上JSON.stringify();打印的就是一个JSON字符串,传递过来的值也能看的很明白,使用的时候我们只要再将JSON字符串用JSON.parse转化为我们熟悉的js对象就可以了;
原文链接:https://blog.csdn.net/qq_43353619/article/details/106592125
本文详细介绍了在uniAPP中如何进行动态路由传参,特别是当需要传递多个参数时,如何通过JSON.stringify()将参数对象转换为字符串进行传递,并在接收端通过JSON.parse()还原为对象。通过实例展示了不使用和使用JSON.stringify()的区别,强调了正确传递和解析参数的重要性。
576

被折叠的 条评论
为什么被折叠?



