代码改变世界

uniapp 页面无法后退

2024-05-22 14:27  法子  阅读(16)  评论(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)))
        }
      }