1、首先介绍下uniapp的页面路由跳转。
uni.navigateTo(OBJECT),保留当前页面,跳转到应用内的某个页面,使用uni.navigateBack
可以返回到原页面。
// 跳转至详情页
uni.navigateTo({
//这里直接填跳转页面的绝对路径或相对路径即可
url:'../../pages/detail/detail'
})
2、路由参数传递(可实现组件通信)
// 跳转至详情页
uni.navigateTo({
// 用JSON.stringify将对象转为字符串,因为这里我传入的e是一个对象
url:`../../pages/detail/detail?key=${JSON.stringify(e)}`
})
3、目标组件的onLoad函数可得到传递的参数
onLoad(e) {
// 拿到父组件传递过来的参数,并将字符串转为js对象
this.detaillist = JSON.parse(e.key)
},
4、字符串或参数过长怎么办呢?
4.1使用encodeURI(uri)对过长字符串进行转码。
var a ="张三";
encodeURI(a)// "%E5%BC%A0%E4%B8%89"
4.2使用decodeURI(encodedURI)解码由encodeURI
var b = encodeURI("张三");//%E5%BC%A0%E4%B8%89
decodeURI(b) //张三