私はドラッグアンドドロップアプリケーションを作成しており、マウスの位置にオブザーバブルを作成しましたdrag-object
。
mouseMove$: any;
constructor(){
this.mouseMove$ = Observable.fromEvent(document, 'mousemove')
.do((mouseevent: MouseEvent) => {
if (document.getElementById("drag-object")){
document.getElementById("drag-object").style.left = (mouseevent.clientX) + 'px';
document.getElementById("drag-object").style.top = (mouseevent.clientY) + 'px';
}
});
この実装では、この方法でサブスクライブすることに問題はありません。
this.mouseMove$.subscribe();
ただし、次のいずれかで購読を解除できないようです。
this.mouseMove$.unsubscribe();
また
this.mouseMove$.dispose();
どちらの場合でも、次のタイプのエラーが発生します。
TypeError: this.mouseMove$.unsubscribe は関数ではありません ...
mouseMove$
これが のタイプと関係があるかどうかはわかりませんが、タイプをおよびany
に設定しても機能しませんでした。ここで何が理解できませんか?Observable
Observable<MouseEvent>