路由传递参数相关面试题

本文探讨了Vue.js路由参数传递的问题,包括params与query的使用场景,如何处理params参数的可传可不传以及为空的情况。同时,介绍了路由组件如何接收props数据,并针对NavigationDuplicated错误提供了两种解决方案。
摘要由CSDN通过智能技术生成

1)路由传递参数(对象写法)path是否可以结合params参数一起使用?

不可以:不能这样书写,程序会崩掉

不可以用path和params配置的组合, 只能用name和params配置的组合

query配置可以与path或name进行组合使用

2)如何指定params参数可传可不传?

比如:配置路由的时候,占位了(params参数),但是路由跳转的时候就不传递。

如果路由要求传递params参数,但是没有传,URL会出现问题​​​​​​​

可以在配置路由时,在占位的后面加上一个 ?号,代表params 参数可传可不传

{
    path:"/Search/:keyword?",
    component:Search,
    meta: { show: true },
    name:"search"
},

3)params参数可以传递也可以不传递,但是如果传递是空串,如何解决?

如果指定name与params配置, 但params中数据是一个" ", 无法跳转,路径会出问题

解决1: 不指定params

解决2: 指定params参数值为undefined

this.$route.push({
  name:"search",
  params:{
    keyword:''||undefined
  }
)

4)路由组件能不能传递props数据?

可以: 可以将query或且params参数映射/转换成props传递给路由组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值