我在项目的时候通过路由传参过去显示undefined

export default {
        data() {
            return {
                opstion: {},

                }        

        },

        methods: {
            info() {

                  uni.navigateTo({
                                url: '/pages/order/list?row=' + JSON.stringify(this.opstion)
                            })

                }

        }

}

我去看了uni.app的官网解释url有长度限制,太长的字符串会传递失败,可改用窗体通信全局变量,另外参数中出现空格等特殊字符时需要对参数进行编码,如下为使用encodeURIComponent对参数进行编码的示例。

修改过后  

info() {

                  uni.navigateTo({
       url: '/pages/order/list?row=' +encodeURIComponent(JSON.stringify(this.opstion))
                            })

                }

//跳转路由接收

onLoad(options) {

        this.option=JSON.parse(decodeURIComponent(options.row))

}

//这样就可以解决路由传参的bug

参考地址

 https://uniapp.dcloud.net.cn/api/router.html#navigateto

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐