路由传参相关问题

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

项目场景:

项目场景:在搜索栏中不输入任何内容点击搜索。


问题描述

如果设置了params参数却不传递,可能会导致URL地址出错(name参数丢失这里的name是指routes配置path的命名路由的name),控制台提示以下信息:

] missing param for named route “search”: Expected “keyword” to match “[^/]+?”, but received “”

① params传参行为:
在这里插入图片描述
② params不传参行为:
url地址中search已丢失
在这里插入图片描述


解决方案:

解决的办法是在配置路由时,在占位的后面加上一个问号即可。示例:

// /search/:keyword? 加上问号,代表该参数可传可不传
    {
    
     name: 'search', path: '/search/:keyword?', component: Search, meta: {
    
     isShow: true } }

猜你喜欢

转载自blog.csdn.net/weixin_46278178/article/details/127361509