2017-09-28 1 views
0

Observable을 사용하여 요소의 clientX를 모니터하려고했습니다. 이 같은 :angular2에서 clientX를 사용하는 방법은 무엇입니까?

`const wrap = document.getElementById('wrap'); 
const body = document.body; 

const mouseDown = Observable.fromEvent(wrap, 'mousedown'); 
const mouseUp = Observable.fromEvent(body, 'mouseup'); 
const mouseMove = Observable.fromEvent(body, 'mousemove'); 

mouseDown 
    .map(event => mouseMove.takeUntil(mouseUp)) 
    .concatAll() 
    .map(m => ({ x: m.event.clientX , y:m.clientY })) 
    .subscribe(pos => { 
    wrap.style.left = pos.x + 'px'; 
    wrap.style.top = pos.y + 'px'; 
    })` 

하지만 .map(m => ({ x: m.event.clientX , y:m.clientY }))

에 오류가 Property 'event' does not exist on type '{}' 내가 그것을 어떻게 고칠 수

말했다있어?

+0

일반 매개 변수로 주석을 추가하려고하지만 작동하지 않습니다. –

답변

0

당신은 그냥 단순한 오타이

.map(m => ({ x: m.clientX , y:m.clientY })) 

에 다음 줄

.map(m => ({ x: m.event.clientX , y:m.clientY })) 

을 변경해야합니다.

+0

나는 이벤트를 적게 쓰지만, 여전히 타입 선언을 'M'에 추가해야합니다. 감사합니다. –

관련 문제