部分静态路由参数 angular 2
Posted
技术标签:
【中文标题】部分静态路由参数 angular 2【英文标题】:partial static routing parameter angular 2 【发布时间】:2018-08-10 15:18:18 【问题描述】:是否可以在 Angular 2 路由中使用部分静态参数? 我来解释一下:
现在我正在使用这样的经典参数:
const routes: Routes = [
path: ':type/fine.html',
pathMatch: 'full',
redirectTo: ':type/fine'
但我可以使用这样的东西:
const routes: Routes = [
path: 'static-:type/fine.html',
pathMatch: 'full',
redirectTo: 'static-:type/fine'
为了能够准确地重定向到static-parameterValue/fine
。
有可能吗?
【问题讨论】:
你应该看看angular.io/api/router/UrlMatcher。它允许覆盖默认匹配策略并提供您自己的。我认为它可以处理你的情况。 刚刚尝试过。问题是当 UrlMatcher 试图找到:type
参数时,它只是将其视为一个字符串,并将其评估为完全等于 ":type"。
【参考方案1】:
经过多次尝试,我已经掌握了不可能做类似事情的知识。所以我按照这个例子用路由保护实现了一种完全不同的方法:
http://www.sparkbit.pl/angular-2-route-guards-real-life-example/
只为遇到同样问题的人回答。
【讨论】:
我相信这可以通过延迟加载的路由功能模块来完成,但这会很复杂。使用警卫似乎是一个可靠的选择。 已经尝试过延迟加载模块,但问题是一样的:你无法匹配部分静态路由。如果您尝试一下,您会发现使用静态和参数路由路径的唯一方法是隔离两个/
之间的参数,因为 Angular 仅将参数视为 folder path
或在其中。
我没有意识到,这是一个非常严重的限制。以上是关于部分静态路由参数 angular 2的主要内容,如果未能解决你的问题,请参考以下文章