【发布时间】:2019-01-29 22:13:20
【问题描述】:
在 Angular 中,我可以使用如下数据定义路由:
{
path: '/user/:id',
component: UserComponent,
data: {cache: {use: true, class: MyCacheClass}}
}
然后我就可以在我的组件中注入ActivatedRoute 并访问路由数据。
我还可以使用 routerLink 指令链接到模板中的组件,方法是使用链接参数数组,如下所示:
<a [routerLink]="['/user', id]">Profile</a>
如果我想通过模板 routerLink 传递路由数据,我不确定如何。路线数据不是路线的一部分,所以我不能这样做:
<a [routerLink]="['/user', id,
{cache: {use: true, class: MyCacheClass}}]">
Profile</a>
如果我这样做,Angular 将尝试导航到:
/user/123;cache=[对象]
是否可以通过 routerLink 指令及其链接参数数组传递路由数据,以便我可以从 ActivatedRoute 获取它?
PS:需要明确的是,我并不是在询问如何在 url 本身中对对象进行编码;我在问如何将它传递给 routerLink 以便我可以通过注入 ActivatedRoute 或 ActivatedRouteSnapshot 并获取它们的 data 属性来获取它
【问题讨论】:
标签: angular angular6 angular-routing