Angular 2:使用函数生成路由链接/动态生成routerLink

时间:2016-11-11 09:32:53

标签: angular router

我想动态创建一个路由链接。

我已经在页面中加载了html,但是我需要在URL中使用一个ID,该ID可以在以后使用。

HTML:

<a href="javascript:void(0)" routerLink="cartoonBoxUrl()" routerLinkActive="active">Add Content to Cartoon Box</a>

此routelink中的链接包含卡通框的ID(/ carton-box / 1)。页面加载后,此ID可用。因此,我需要一种方法来创建路由链接以包含此ID。

所以我相信我们可以做类似的事情:routerLink="'cartoon-box/' + id"但我希望将routerlink与组件功能联系起来

2 个答案:

答案 0 :(得分:11)

没有[] Angular不评估表达式,只使用cartoonBoxUrl()作为文字字符串。

<a href="javascript:void(0)" [routerLink]="cartoonBoxUrl()" routerLinkActive="active">Add Content to Cartoon Box</a>

答案 1 :(得分:0)

<a href="javascript:void(0)" (click)=cartoonBoxUrl()>Add Content to Cartoon Box</a>
你的ts component.ts 文件中的

import {Router} from "@angular/router";
public ID: any;
constructor(private router: Router){}
cartoonBoxUrl(){
 this.ID = Your LinkId;
 this.router.navigate(['YourRouteLink/', this.ID]);

}