vue2 vue路由的 params传递的参数居然区分类型。但是!!!有坑,刷新就都是字符串了....

最近写了个项目,

惊奇发现(可能大惊小怪),在params传递的‘0’和0居然能区分类型,难道不是浏览器地址栏截取的字符串!!

代码大概如下(仅供参考):

router/index.js

.......
{
      path: '/Frame/:userId',
      name: 'Frame',
      component: Frame,
      beforeEnter(to, from, next) {//判断是否存在id
        console.log('beforeEnter',to.params.userId,!!to.params.userId);
        }
}
.....

router-link

<router-link :to="{name:'Frame',params:{userId:0}}"/>//router/index.js返回0,false

<router-link :to="{name:'Frame',params:{userId:'0'}}"/>//router/index.js返回0,true

传数字类型0 router/index.js 返回 beforeEnter, 0,false

传字符串类型0 router/index.js 返回  beforeEnter, 0,true

(我们都知道 !!0 为 fasle,!!'0'为true.............)

浏览器地址栏都显示为:http://localhost:8088/Frame/0

坑:刷新浏览器则类型都是字符串类型的。重试上面的就知道了!!!

没看源码...哪位看过源码的解释一下。

vue很多类似这种刷新就数据丢失的,注意了。写完代码要刷新。要不然你写的变量会没有....

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值