2016-05-19 20 views
0

角度2バージョン:rc.1角度2つのデータ

私は* ngForとを使用して、テーブル内の名前と場所のリストを返す午前私はをクリックし、セルにデータをバインドします私のコンポーネントの変数に接続してください。

component.html

<tr *ngFor="let result of Results$"> 
    <td #foo (click)="passValue(foo)"> 
    {{result?.name}} 
    </td> 
    <td> 
    {{result?.place}} 
    </td> 
</tr> 

component.ts

passValue(foo) { 
    this.value = foo; 
    console.log(foo); 
} 

コンソールで、私はその値として "ジョン" でセルをクリックすると次のようになっています:

<td _ngcontent-pof-13=""> 
    John 
</td> 

理想的には、コンソールはtd要素全体の代わりに "John"だけをログに記録します。

多分それとは全く違った、より良い方法があります。

アイデア?ここ

答えて

1
<tr *ngFor="let result of Results$"> 
    <td #foo (click)="passValue(foo)"> 

#footemplate reference variableある - DOM要素自体への参照。 resultはあなたに結合しているデータへの参照である - この場合は、値「ジョン」と名前フィールドを持つオブジェクト:だから

、交換してください

<td #foo (click)="passValue(foo)"> // prints the td element 

によって:

<td #foo (click)="passValue(result?.name)"> // prints "John" 
+1

'result'はオブジェクト全体です。コンソールに 'passValue'に" John "を表示させたい場合、' result.name'を渡したくないのですか? –

+0

はい、メトロスマーフは私がやったことで終わり、それは働いた –

+1

@MetroSmurf良い目、それを指摘してくれてありがとう。回答が更新されました。 – drewmoore

関連する問題