gpt4 book ai didi

javascript - 对 Angular UI 路由器使用多个正则表达式参数

转载 作者:行者123 更新时间:2023-11-28 00:31:10 25 4
gpt4 key购买 nike

我在我的项目中使用 AnglarJs 和 Angular UI Router。我正在为我的路线使用参数,例如:

url: '/content/:categoryId/:categoryType'

但是我在使用 url 时遇到问题:

url: '/content/detail/:contentId'

看来 Angular UI Router 无法识别这两个的区别。然后我决定对所有这些都使用 regexp 参数

url: '/content/{categoryId:int}/{categoryType:int}'
url: '/content/detail/{contentId:int}'

第二个 url 可以,但当我使用 ui-sref 时,Angular UI Router 无法识别第一个 url:

<a ui-sref="firstUrl({categoryId: 1, categoryType: 2})">Anchor</a>

Angular UI 路由器只支持一个正则表达式参数吗?

最佳答案

这里的问题在于 UI-Router 如何查找/解析 url 的状态。它使用:

  • 状态定义的顺序
  • 使用第一个匹配

这实际上是问题所在,因为第一个 url 模式:

url: '/content/{categoryId:int}/{categoryType:int}'

绝对适合为此提供的网址

url: '/content/detail/{contentId:int}'

这些情况下的解决方案相对简单。更改状态定义的顺序。应该先更精确,其次才是更动态

关于javascript - 对 Angular UI 路由器使用多个正则表达式参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28978271/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com