[在navigator中传参,在接收数据的页面用vueroute接收参数]
[小程序中不支持使用$route获取参数,会报错,uniapp中支持]
传参
<navigator url="/pages/demo2/demo2?wd=uniapp">跳转到demo2</navigator>
接收参数
mounted() {
console.log(this.$route);
}
$route对象中有一个值query,传递的参数就在里面
mounted() {
console.log(this.$route.query.wd);
}
成功拿到了传递的参数:
不通过navigator标签,通过点击事件写方法跳转的参数也是携带在url里,都是一样的
[在小程序中获取url传参]
在微信小程序中不支持$route获取参数,需要在生命周期onload中获取
mounted中通过$route.query获取值的方法要注释掉,否则会报错
onLoad(e) {
console.log(e);
}
获取到的结果:
同时,用这个方法在web端也能拿到同样的结果
[通过页面栈获取参数]
onLoad(e) {
console.log(e);
console.log(getCurrentPages());
}
在onload中还可以通过页面栈获取参数和页面栈,并且在微信小程序和web端拿到的结果是一样的
小程序端:
web端:
上面是通过navigator标签传值,通过点击事件中写方法传值也是一样的
goDemo2 (){
uni.navigateTo({
url:"/pages/demo2/demo2?wd=uni-app&id=156532",
success:res=>{
console.log(res);
}
})
}
web端结果相同