使用正则表达式的Ui路由器路由参数

Ui-router route parameter with regex

本文关键字:路由器 路由 参数 Ui 正则表达式      更新时间:2023-09-26

我觉得这很简单,但我无法让它工作。。。

我使用的是Ui Router 2.11,它包括带有正则表达式的可选参数。

我有一个工作的url

'/event/{eventId:[0-9]}'

它过滤掉所有非数字的内容,但它只适用于输入的1个字符(因此只有0到9)。

我想用一个表达式来替换它,该表达式检查以确保输入中的所有字符都是数字,这样我就可以有任何输入,只要它都是数字。

我尝试使用这个线程中的表达式

'/event/{eventId:^[0-9]+$}'

但它不起作用。其他例子包括我不能使用的斜杠(通过ui router文档中的警告)。这感觉应该非常简单,我做错了什么?

根据链接的文档判断,我认为以下任何一个表达式都可以:

'/event/{eventId:[0-9]+}'//match 1 or more digit
'/event/{eventId:[0-9]{1,}}'//same as above, alternative notation

如果可能的话,我会用'd替换[0-9]。它只是看起来更干净。