gpt4 book ai didi

Angular 2.5如何在路由参数中传递/

转载 作者:行者123 更新时间:2023-12-05 03:07:15 27 4
gpt4 key购买 nike

我用谷歌搜索了这个问题,但没有成功。

是否可以使用“/”作为路由参数的一部分?例如,我有以下路线:

{
path: 'pages/:page',
component: HomeComponent
}

我想将 folderName/Page 传递到 :page 参数中,所以如下:/pages/testFolder/testPage 将匹配上述路径。

我无法创建额外的路由,因为这需要是动态的(即 /pages/folder/folder/folder/folder/folder/folder/page)。

如果可行,请告诉我。

我已经尝试了 Forward Slash in Angular Route Parameters 中的步骤并尝试使用 url-matcher,但没有成功。

谢谢!

最佳答案

您可以像下面这样设置您的路线来解决您的问题,

  {
path: 'pages',
children: [
{
path: "**", component: PagesComponent
}
]
}

所以这里所做的基本上是任何以 pages/... 开头的路径都将被此路由拦截。

要从您的 URL 获取不同的段,您可以在您的组件中使用以下内容,

constructor(route: ActivatedRoute) {
route.url.subscribe(segments => // use segments as suitable );
}

因此根据您的网址,分割会有所不同,

路线 :/pages/Folder1/Page1

分割

 [ { "path": "Folder1", "parameters": {} }, { "path": "Page1", "parameters": {} } ]

路线:/pages/Folder2/Folder3/Page1

分割

[{“路径”:“Folder2”,“参数”:{}},{“路径”:“Folder3”,“参数”:{}},{“路径”:“Page1”,“参数” : {} } ]

这里是 StackBlitz example !!

你必须考虑的一件事是通配符路由会吸收任何以 pages/开头的东西,所以让它放在最后。

关于Angular 2.5如何在路由参数中传递/,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48102032/

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