Angular 2 - 它应该是routerLink =“theRoute”还是[routerLink] =“['路线']”?

Angular 2 - 它应该是routerLink =“theRoute”还是[routerLink] =“['路线']”?

问题描述:

我真搞不清楚我是否应该使用Angular 2 - 它应该是routerLink =“theRoute”还是[routerLink] =“['路线']”?

<a routerLink="/about">About</a> 

<a [routerLink]="['/about']">About</a> 

两者都是正确的。

<a routerLink="/about">About</a> 

<a [routerLink]="'/about'">About</a> 

传递路径作为字符串

<a [routerLink]="['/about']">About</a> 

通过路由器命令的数组。

两者都支持。

https://github.com/angular/angular/blob/9d9e9c6ff1eb37d54a6e4af0a88f05a41f75d7a9/modules/%40angular/router/src/directives/router_link.ts#L85

@Input() 
    set routerLink(data: any[]|string) { 

Angular2文档显示的用法:

<a [routerLink]="['/about']">About</a>

它还允许传递对象,而路由

检查: - https://angular.io/docs/ts/latest/guide/router.html#!#link-parameters-array

您希望您的网址作为对象路由器通过, 把它作为

<a [routerLink]="['/myPage']" title="My Page">MyPage</a>, 

给它这样的

<a routerLink="/about">About</a 

将把它作为一个字符串传递,所以会抛出错误

+0

写入路由器没有错误,如你的第二个例子(它也可以) – squaleLis