2016-11-18 6 views
0

상위 구성 요소 클라이언트 목록이 있으며 클라이언트 ID를 전달하고 있습니다.한 구성 요소에서 다음 구성 요소로 각도 2 패스 이벤트

내가 바인딩 할 수 자식 생성자에
export class ListComponents 
public myformdata: number; 
    onClient(ID: number) { 

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

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

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

. 하지만 자식 생성자에 클릭 할 때마다 값을 어떻게 주입합니까? 나는 라이프 사이클은 당신이 달성하려고하는 것을 100 % 확신하지

ngOnChanges(): void { 

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

답변

0

후크 tryied. 그냥 childComponent에 myformdata 전달하려고하면 당신은

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

그런 다음에 그것을 전달하는 입력 지시를 사용

parent.component.ts 부모 구성 요소에서 클릭에 설정할 수 있습니다 하위 구성 요소

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

관련 문제