如何在Angular中将对象从一个Component传递到另一个Component

时间:2017-05-12 11:39:19

标签: angular

我正在研究angular2版本。我有一个网格,我有编辑按钮。我需要实现每当我点击编辑它应该显示其他组件,该对象应该传递给该组件。我的观点如下:

  <table class="table table-striped" width="50%">
  <tr> 
     <td>User Name</td>
     <td>Email</td>
     <td>Gender</td>     
     <td></td>
  </tr>
  <tr *ngFor="let user of Users">
     <td>{{user.UserName}}</td>
     <td>{{user.Email}}</td>
     <td>{{user.Gender | transformgender }}</td>
     <td><a  routerLink="/edituser" routerLinkActive="active">Edit</a></td>  
  </tr>
</table>
<a class="btn btn-primary" routerLink="/adduser" routerLinkActive="active">Add User</a>

现在如何将用户对象传递给名为edituser.component.ts的其他组件。 请建议。

1 个答案:

答案 0 :(得分:1)

而不是:

<td><a  routerLink="/edituser" routerLinkActive="active">Edit</a></td> 

你需要将一个功能绑定到那个&#39; a&#39;标记并执行该功能中的所有导航和其他用户选择;

users.component.html中的

<td><a  (click)="editThisUser()" routerLinkActive="active">Edit</a></td>
users.component.ts中的

`

// add Router to the top of the component
   import { Router } from '@angular/router';
 //...... some other codes....//
 //in the component class 
   constructor(private router: Router) {}
 //and define the function that you bind in the users.component.html
   editThisUser(): void {
     this.router.navigate(['/edituser', this.selectedUser.id]);
   }`

有关详细信息,我建议您查看官方角度英雄教程:https://angular.io/docs/ts/latest/tutorial/toh-pt6.html