uniapp 页面无法后退
2024-05-22 14:27 法子 阅读(112) 评论(0) 编辑 收藏 举报页面 C 后退的时候报错,且无法后退
因为页面 A 跳转到页面 B 的时候,传参里面有属性值为 null 的对象。从页面 B 再跳转到其他页面比如页面 C,该页面就无法后退,并报上面的错误。不知道算不算 bug
// 页面A 跳转到 页面B this.$u.route({ url: 'pages/pageB', type: 'navigateTo', params: { info: JSON.stringify({name: null}), // 有个 null 的值 type: 'normal', } }); // 页面 B 的 onLoad 接收 onLoad (options) { if (options && options.query) { options = JSON.parse(decodeURIComponent(options.query)) } if (options && options.type) { this.sealType = options.type } if (options && options.info) { this.info = JSON.parse(decodeURIComponent(options.info)) } }
传参的时候要转化一下
// 页面A 跳转到 页面B this.$u.route({ url: 'pages/pageB', type: 'navigateTo', params: { info: decodeURIComponent(JSON.stringify({name: null})), type: 'normal', } }); // 页面 B 的 onLoad 接收 onLoad (options) { if (options && options.query) { options = JSON.parse(decodeURIComponent(options.query)) } if (options && options.type) { this.sealType = options.type } if (options && options.info) { this.info = JSON.parse(decodeURIComponent(decodeURIComponent(options.info))) } }