2017-03-04 11 views
-1

私は以下のようなことをしようとしています - 選択したIDをコンポーネントコードに渡しますが、これは動作しないか、断続的にしか動作しないようです。角2で選択したIDを取得する

<tr *ngFor="let user of userList"> 
    <td>{{ user.firstName }} {{ user.lastName }}</td> 
    <td>{{ user.status}}</td> 
    <td><a (click)="goToAccount(user.id)">{{user.userName}}</a></td> 
</tr> 
+0

どのようなエラーが表示されますか? – Aravind

+0

これは実際にはこの点を超えてクラッシュしているので、明らかにこれは機能します。 –

+0

あなたのユーザーオブジェクトを投稿できますか?また、userList? – Smit

答えて

2

あなたは

<ul> 
    <li *ngFor="let user of userList ;" (click)="getID(user.id)"> 
     {{user.firstName}} 
    </li> 
    </ul> 
</ul> 
<br> 
    <span *ngIf="clickedID"> Clicked ID {{clickedID}}</span> 
     ` 

活字方法

getID(id:number){ 
    this.clickedID=id; 

    } 

LIVE DEMO

+0

+1私は論理に投票するつもりですが、彼のコードの周りにOPを助けるべきだと思います。 diffを導入すると、彼を混乱させる可能性があります。 – Smit

+0

インデックスとは何ですか? @DannyEllisJr。 –

+0

indexは、ループ内の要素のインデックスを追跡するためのものです。私の以前の答えのフォークだったあなたのポストに関連していない – Aravind

1

Userオブジェクト以下のようなものを使用する必要があります。

userList: User[]; 

contructor() 
{ 
this.userList = []; 
} 

goToAccount(id: any) 
{ 
console.log(id); 
} 

は、HTML::componenet TSで

export class User{ 
id: string; 
firstName: string; 
LastName: string; 
status: string; 
userName: string; 
} 

<tr *ngFor="let user of userList"> 
    <td>{{ user.firstName }} {{ user.lastName }}</td> 
    <td>{{ user.status}}</td> 
    <td><a (click)="goToAccount(user.id)">{{user.userName}}</a></td> 
</tr> 

これは私がオフに考えることができる最も近いシンプルなソリューションです。

+0

** User **はクラスではなくインターフェースです。 – Aravind

関連する問題