uniapp中,页面之间携带参数跳转
1.表单提交数据后使用navigateBack,解决点击列表页返回再次跳转到表单页面的问题。
表单页面
const pages = getCurrentPages() //获取所有实例
const previousPageS = pages[pages.length - 2] //当前页面的上一个页面
previousPageS.$vm.getDoorData(this.doorData) // 要返回页面的方法,将参数携带过去
uni.navigateBack({
delta: 1
})
表单提交后返回的页面
// 从表单页面来,获取携带的数据,进行操作
getDoorData(val) {
this.data = val //赋值给所需字段
this.$refs.paging.reload()
}
- 页面之间传递对象数据
A页面通过encodeURIComponent方法封装数据
handleToDetail(id) {
const obj = {
...this.data,
id: id
}
uni.navigateTo({
url: "/subPackages/peopleCollect/peopleCollectDetail?data=" + encodeURIComponent(JSON.stringify(obj))
})
},
B页面在onLoad方法接受A页面传递的对象参数,使用decodeURIComponent方法解析
onLoad(option) {
this.data = JSON.parse(decodeURIComponent(option.data))
}