2016-11-18 7 views
0

親コンポーネントクライアントのリストがあり、クライアントIDを渡しています。子のコンストラクタであるコンポーネントから次のコンポーネントへの角2パスイベント

<a (click)="onClient($event, ID)">edit</a> View

export class ListComponents 
public myformdata: number; 
    onClient(ID: number) { 

     console.log('loading ID', JSON.stringify(ID)); 

     this.myformdata = (ID); 
     return this.myformdata; 
    } 
}` 

私はそれをバインドすることができます。しかし、子コンストラクタにクリックされるたびに値を注入するにはどうすればよいですか。私はライフサイクルフックを試しました

ngOnChanges(): void { 

} 
export class ChldComponents{ 
    constructor(public _dashlit: ListComponents) { 
} 
} 

答えて

0

私はあなたが達成しようとしていることを100%確信していません。あなただけchildComponentにmyformdataに渡そうとした場合、あなたはあなたにそれを渡すために入力ディレクティブを使用すると、あなたの親コンポーネントでクリックで

parent.component.ts

onClient(ID: number){ 
    this.myformdata = ID; 
} 

それを設定することができます子コンポーネント

child.component.html

<child-component [myInput]="myformdata"></child-component> 

これで、子コンポーネントで利用できるようになり、親コンポーネントがthis.myformdataを変更するたびに変更されます。入力が変わるたびに関数を実行する必要がある場合は、OnChangesライフサイクルフックを使用できます。

https://angular.io/docs/ts/latest/cookbook/component-communication.html https://angular.io/docs/ts/latest/api/core/index/OnChanges-class.html

関連する問題