【问题标题】:Angular 2 - should it be routerLink="theRoute" or [routerLink]="['the route']"?Angular 2 - 应该是 routerLink="theRoute" 还是 [routerLink]="['the route']"?
【发布时间】:2016-08-03 04:50:29
【问题描述】:

我真的很困惑我是否应该使用

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

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

【问题讨论】:

    标签: javascript angularjs angular


    【解决方案1】:

    两者都是正确的。

    <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) {
    

    【讨论】:

      【解决方案2】:

      Angular2 文档显示:

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

      它还允许在路由时传递对象

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

      【讨论】:

        【解决方案3】:

        您希望将您的 url 作为对象传递给路由器, 将其传递为

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

        像这样给它

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

        会将它作为字符串传递,因此会抛出错误

        【讨论】:

        • 在第二个示例中写入路由器没有错误(它也可以)
        猜你喜欢
        • 2016-12-18
        • 2017-05-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-02-26
        • 2016-12-16
        • 2017-08-26
        • 1970-01-01
        相关资源
        最近更新 更多