uniapp路由传参存在数据类型失真的问题

javascript 复制代码
export default {
  methods: {
    jump() {
      // 通过params传参
      this.$Router.push({name: 'demo', params: {
      	number:1,
        name: '123',
        value: null
      }})
    }
  }
}

目标模块接收参数:

javascript 复制代码
export default {
  onLoad() {
    // 获取参数
    const {number,name, value} = this.$Route.query
    console.log(number,name,value) // '1', '123', 'undefined'
  }
}

这时发现,目标模块接收到的参数都会变成字符串类型,并且null值会变成字符串的undefined;

解决以上问题,可以将传递的参数构造成一个嵌套对象,如用一个data属性来装填我们的参数:

javascript 复制代码
export default {
  methods: {
    jump() {
      // 通过params传参
      this.$Router.push({
        name: 'demo', 
        params: {
          data: {
            number:1,
        	name: '123',
        	value: null
          }
        }
      })
    }
  }
}
相关推荐
CC码码20 小时前
前端文本分割工具,“他”来了
前端·javascript·程序员
星火飞码iFlyCode20 小时前
MySQL数据库操作一致性保证(智能对话+AI代码补全案例)【留言有奖】
javascript
linhuai20 小时前
flutter实现Mock数据
前端
Keely4028520 小时前
浏览器指纹识别:从原理到防护的完整指南
前端·浏览器
沐道PHP20 小时前
nvm安装node低版本失败-解决方案
前端
韩曙亮20 小时前
【Web APIs】JavaScript 执行机制 ( 单线程特点 | 同步任务与异步任务 | 同步先行、异步排队 | 事件循环机制 )
开发语言·前端·javascript·异步任务·同步任务·web apis·js 引擎
linhuai20 小时前
Flutter如何实现头部固定
前端
单调77720 小时前
npm你还了解多少
前端
码途进化论20 小时前
基于 Vue 2 + VXE Table 的超大规模表格渲染架构设计与性能优化方案
前端
漫天星梦20 小时前
iOS 手机无法播放视频问题排查与解决方案记录
前端·ios