Javascript 路由参数“原因”中的数组;“预计不会重复”;警告
当我尝试使用数组作为参数创建Javascript 路由参数“原因”中的数组;“预计不会重复”;警告,javascript,vue.js,vue-router,Javascript,Vue.js,Vue Router,当我尝试使用数组作为参数创建路由器链接时,链接可以工作,但我收到以下警告: 命名路由“开始运行”缺少参数:预期“文件”不会重复,但收到[“aaa”] router.js ... { path: '/start-run/:config?/:files?', name: 'start-run', component: StartRun, props: true }, ... file.vue ... <router-link :to="{name: 'start-run',
路由器链接
时,链接可以工作,但我收到以下警告:
命名路由“开始运行”缺少参数:预期“文件”不会重复,但收到[“aaa”]
router.js
...
{
path: '/start-run/:config?/:files?',
name: 'start-run',
component: StartRun,
props: true
},
...
file.vue
...
<router-link :to="{name: 'start-run', params: { config: 'test', files: ['aaa'] }}">...</router-link>
...
。。。
...
...
我没有找到修复此警告的文档。我相信错误消息来自于regexp的
路径
版本1.7.0,该版本由Vue路由器使用:
问题是数组被视为多个值,但路径中的参数不支持多个值
通过将数组传递给
文件
,不清楚您试图实现什么。您定义的路由路径为:files?
使用了?
后缀,这使得它是可选的,但不允许使用数组。也许你指的是:files*
或:files+
?或者您只是想传递数组中的第一项?我假设?
用于任何可选参数,我需要的是:files*
。在我看来,*
的用法与@Opsse混淆。语法基于RegExp修饰符。所以?
表示0或1,而*
表示0或更多。regexp的路径
的更高版本已经取消了对使用*
作为通配符的支持,因为这会导致混淆和歧义。