import { Component, OnInit } from '@angular/core';
// ① RxJS 임포트
import { Observable, fromEvent } from 'rxjs';
export class AppComponent implements OnInit {
mousePositon$ :Observable<Event>;
posX: number = 0; // 옵저버
posY: number = 0;
ngOnInit() {
// ② 옵저버블의 생성(DOM 마우스 이동 이벤트를 옵저버블로 변환)
this.mousePositon$ = fromEvent(document, 'mousemove');
// ③ 옵저버는 옵저버블을 구독하고 옵저버블이 방출한 데이터를 전파받아 사용한다.
this.mousePositon$
.subscribe(
(event: MouseEvent) => {
this.posX = event.clientX;
this.posY = event.clientY;
},
error => console.log(error),
() => console.log('complete!')
);
}
}