前端小程序问题求解。

发送参数后接收失败,通过uni跳转传递参数,onload方式接受参数失败,option始终打印不出来

img


img

打印一下 option 。 试试直接转换 item 把decodeurixx去掉试试 。因为你传的时候没 加码,你用的时候解码

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7709595
  • 除此之外, 这篇博客: uni-app中的路由传参以及页面返回刷新中的 3.2 页面中在onLoad中接收参数 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    // 在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)
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^