uniapp 路由uni.navigateTo 传参
1.传递一个参数
let index = 1; uni.navigateTo({ url: `../address/address?key=${index}` })
接收一个参数
onLoad(e) {
console.log(e.index)
}
2.传递两个参数
let name name = "loadVessel" let id id = "1" uni.navigateTo({ url: `/pages/loadAndUnloadVessel/freightTran?name=${name}&id=${id}` })
接收两个参数
onLoad(e) {
console.log(e.name)
console.log(e.id)
}
3.传递一个对象
let item = {id:1,name:'hdh.com?hahapp'} uni.navigateTo({ url:'../order/detail?key='+encodeURIComponent(JSON.stringify(item)) })
收一个对象
onLoad(e) {
console.log(JSON.parse(decodeURIComponent(e.key)))
}
注意:是否使用转码和解码的原因
若把一个url地址当作参数,不进行编码直接传递是会出问题的,因为?&=这些在URI中属于特殊字符,会解析成不是我们所期望的结果。除非这个url地址本身不带参数,那没有问题。