Angular Rxjs의 EventEmitter
3986 단어 rxjstypescriptjavascriptangular
EventEmitter는 임의의 값을 보낼 수 있도록 emit() 메서드를 추가하여 RxJS Subject를 확장합니다. 방출()을 호출하면 방출된 값을 구독한 관찰자의 next() 메소드에 전달합니다.
EventEmitter를 사용하는 실제 예는 홈페이지에서 수행되는 모든 이벤트(click/onChange 등)에 대한 사이드 메뉴 변경 감지와 같습니다.
EventEmitter에서 몇 가지 실습을 해 보겠습니다.
사이드 메뉴에서 EventEmitter가 있는 출력 데코레이터와 닫기/열림의 부울 상태를 갖는 하나의 부울 변수를 생성해야 합니다. 그런 다음 부울 변수의 상태를 변경하고 또한 방출하는 메소드를 생성해야 합니다. 해당 부울 값, 업데이트된 값이 홈인 상위 구성 요소로 이동하도록 합니다.
// side-menu.component.ts
@Output() toggle = new EventEmitter<any>();
visible: boolean = false;
onToggle() {
this.visible = !this.visible;
this.toggle.emit(this.visible);
console.log("from side-menu", this.visible);
}
<!-- side-menu.component.html -->
<a (click)="onToggle()">Menu</a>
<ul>
<li>
<a href="#">Home</a>
</li>
<li>
<a href="#">About</a>
</li>
</ul>
따라서 홈 구성 요소 보기에서 사이드 메뉴 하위 구성 요소를 호출하고 side-menu.component.ts에서 위에서 생성한 토글이라는 출력 데코레이터를 추가해야 합니다.
<!-- home.component.html -->
<app-side-menu (toggle)="menuToggle($event)"></app-side-menu>
토글 출력 데코레이터가 side-menu.component.ts에서 방출될 때마다 menuToggle 메서드가 호출됩니다.
// home.component.ts
menuToggle(event) {
console.log("from home", event);
}
그게 다야, :)
Reference
이 문제에 관하여(Angular Rxjs의 EventEmitter), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/muhammadawaisshaikh/eventemitter-in-angular-rxjs-33i5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Angular Rxjs의 EventEmitter), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/muhammadawaisshaikh/eventemitter-in-angular-rxjs-33i5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)