简体   繁体   English

Angular 2 - 应该是routerLink =“theRoute”还是[routerLink] =“['the route']”?

[英]Angular 2 - should it be routerLink=“theRoute” or [routerLink]=“['the route']”?

I am really confused whether I should be using 我是否应该使用我真的很困惑

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

or 要么

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

Both are correct. 两者都是正确的。

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

and

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

pass a path as string 将路径作为字符串传递

while

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

passes an array of router commands. 传递一系列路由器命令。

Both are supported. 两者都受支持。

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

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

Angular2 docs shows usage of : Angular2文档显示了以下用法:

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

It also allows passing objects while routing 它还允许在路由时传递对象

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

You want your url to be passed as an object to the router, Pass it as 您希望将您的URL作为对象传递给路由器,将其传递给路由器

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

giving it like this 这样给它

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

will pass it as a string so will throw error 将它作为一个字符串传递,所以会抛出错误

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM