Angular2获得活跃路线

Eme*_*een 3 routes angular

更新到Angular2 rc2和Angular2 rc3后,我有错误

"'路由器'类型中不存在"属性'urlTree'"

我的功能

isRouteActive(routePath) {
    return this.router.urlTree.contains(this.router.createUrlTree(routePath));
}
Run Code Online (Sandbox Code Playgroud)

如何在angular2 rc3中获得活动链接?

mih*_*hai 5

如果要根据activeRoute设置某个元素的样式,可以使用[routerLinkActive]="['your-class-name']"该元素的指令.

routerLinkActive指令源


UPDATE

旧样式(使用路由器弃用):
html layout

<li [class.active]="isActive(['Dashboard'])">
    <a [routerLink]="['dashboard']"><span class="nav-label">Dashboard</span></a>
</li>
Run Code Online (Sandbox Code Playgroud)

*.ts component

isActive(instruction: any[]): boolean {
    return this.router.isRouteActive(this.router.generate(instruction));
}
Run Code Online (Sandbox Code Playgroud)

新风格(路由器版本3.0.0-alpha.7):
only html layout needed

<li [routerLinkActive]="['active']">
    <a [routerLink]="['dashboard']"><span class="nav-label">Dashboard</span></a>
</li>
Run Code Online (Sandbox Code Playgroud)