Angular2:通过routerLink传递布尔值

时间:2017-03-27 09:28:22

标签: html angular routing

我正在尝试通过routerLink从一个任务页面传递一个布尔值到一个团队页面,但我似乎无法使用我的HTML表格中的值,我做错了什么?

我试过这样做

<a [routerLink]="['/team', projectID, {projectTeam: true}]">Teampage</a>

我试图像这样做

<a [routerLink]="['/team', projectID" [queryParams]="{projectTeam: true}>Teampage</a>

但是没有显示错误且没有问题编译,它们似乎都不起作用,我不能使用@Input(),因为它是一个链接<a>标记。

我想使用布尔值的HTML表格

<md-card>
   <md-card-title *ngIf="projectTeam" class="card_title_center">Project</md-card-title>
   <md-card-subtitle class="card_title_center">TEAM</md-card-subtitle>
   ...
</md-card>

使用过的文档:https://angular.io/docs/ts/latest/api/router/index/RouterLink-directive.html

2 个答案:

答案 0 :(得分:1)

如评论部分所述,

您需要在组件中分配查询参数

示例:

import { ActivatedRoute } from '@angular/router';

...
export class TeamDetailComponent { 

  projectTeam: string; 

  constructor(private _routeParams: ActivatedRoute) { 
    this.projectTeam = _routeParams.snapshot.params['projectTeam']; 
  }

}

答案 1 :(得分:0)

参数应仅在字符串中。所以尝试仅在字符串中分配参数。为什么不试试这个?

<a [routerLink]="['/team', '1']">Teampage</a> 

(或)

<a [routerLink]="['/team, projectID']" [queryParams]="{[projectTeam: string]: true}">Teampage</a>