发送参数后接收失败,通过uni跳转传递参数,onload方式接受参数失败,option始终打印不出来
打印一下 option 。 试试直接转换 item 把decodeurixx去掉试试 。因为你传的时候没 加码,你用的时候解码
不知道你这个问题是否已经解决, 如果还没有解决的话:// 在test.vue页面接受参数
export default {
onLoad: function (option) { //option为object类型,会序列化上个页面传递的参数
console.log(option.id); //打印出上个页面传递的参数。
console.log(option.name); //打印出上个页面传递的参数。
}
}
在上一节中我看可以看到,页面中接收参数都是在onLoad
中,因为uni-app已经将路由参数给我们封装到onLoad
的参数里面。
但是,如果我们想要在onShow
中获取到页面参数改怎么办呢?因为onLoad只会执行一次,从下级页面返回时并不会触发,但很多时候返回页面是需要做数据请求或者其他操作的,有可能需要获取到页面的路由参数。
那么,具体应该怎么做呢:
需要用到 getCurrentPages()
函数用于获取当前页面栈的实例。 以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。
// 获取当前小程序的页面栈
let pages = getCurrentPages();
// 数组中索引最大的页面--当前页面
let currentPage = pages[pages.length - 1];
// 打印出当前页面中的 options ==>> 当前页面上的属性和方法都可以获取到
console.log('====>>>>', currentPage.options)