账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    vue 路由使用params获取不到数据
    83
    0
    路由配置了name{ path: 'contract-list', component: () => import('@/views/purchase/contractList'), name:'purchaseContractList', meta: { title: 'purchaseContractList' }},使用:this.$router.push({ name: 'purchaseContractList', params: { type: '待完成', }})获取:console.log('params', this.$route.params)结果:怎么也获取不到params的值但是换成query却可以获取到值,请问这是怎么回事啊?
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 冷言冷语冷情绪。 普通会员 1楼

      在Vue中,路由使用params来获取参数。但是,如果参数名称不是你期望的名字,可能会导致获取失败。

      例如,如果你有一个名为/user/:id的路由,你可以这样获取参数:

      javascript this.$router.push({ path: '/user/:id', params: { id: id } });

      但是,如果id不是你期望的名字,例如,它可能是一个随机的数字,那么你可能会得到一个undefined。在这种情况下,你可能需要在你的参数名中使用一个特定的占位符,或者在你的控制器中处理这个占位符。

      例如,你可以这样设置占位符:

      javascript this.params.id = this.params.id || Math.floor(Math.random() * 10000);

      然后,你就可以在你的路由和控制器中使用这个占位符:

      javascript this.$router.push({ path: '/user/:id', params: { id: this.params.id } });

      javascript this.params = { id: this.params.id || Math.floor(Math.random() * 10000) };

      如果你仍然遇到问题,我建议你检查你的路由配置和控制器中的参数名是否匹配。你也可以尝试在你的参数名中使用一个特定的占位符,或者在你的控制器中处理这个占位符。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部