2016-06-07 4 views
1

나는 일부 데이터 나 다른 구성 요소에서 '검색 텍스트의 가치를들을 수있는 방법각도 2의 출력 이후에 청취 이벤트가 발생합니까? 하나 개의 구성 요소에서

@Output() search: EventEmitter<string> = 
     new EventEmitter<string>(); 

onChange(searchText) { 
    this.search.emit(searchText); 
    console.log(searchText); 
    }; 

을 방출?

다른 구성 요소는 첫 번째 구성 요소의 하위 구성 요소가 아닙니다.

+0

가능한 중복 http://stackoverflow.com/questions/34700438/global-events-in-angular- 2) – zpul

답변

2

당신이 당신의 출력을 정의하는 방법은 부모 구성 요소가 해당 이벤트가 발생할 때 알림을받을 수 있다는 것을 의미한다 :

@Component({ 
    template: ` 
    <search (search)="doSomething($event)"></search> 
    `, 
    directives: [ SearchComponent ] 
}) 
export class SomeComponent { 
    doSomething(searchText:string) { 
    (...) 
    } 
} 

당신이 설명 된 구성 요소의 선택을 가정 search입니다.

이벤트를 트리거하는 구성 요소와 수신 대기하는 구성 요소 사이의 관계가 다른 경우 공유 서비스 내에서 관찰 가능을 사용해야합니다. 자세한 내용은이 문서를 참조하십시오 :

[글로벌 이벤트 코너 2] (의
관련 문제