路由使用params传递布尔值逻辑紊乱,解决方法


问题

使用路由携带参数,利用params传输,页面一传给页面二,页面二可以接收到”false“,但是页面二一直逻辑错误

错误原因

params传递过来的为字符串,就算用Boolean()方法进行转换,只要字符串不为空,就会一直为true

解决思路

将传递过来的数据进行判断,跟理想数据进行比较,从而得到一个布尔值,进行使用


解决方案(params和query传递的类型不同)

  this.$router.push({
        path: '/dataTopics/channelInputPersonnelModify/transferModel/:channelsInformationflag',
        query: { channelsInformationflag: this.channelsInformationflag },
      })
 // 判断显示标志是否显示,传过来的值为字符串,不能用Boolean(),Boolean只要不为空全是false
    this.channelsInformationflag = this.$route.query.channelsInformationflag === 'true'

版权声明:本文为Alfred_tfk原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。