quan sát được Tôi đang tạo một ứng dụng kéo và thả và tôi đã tạo một vị trí quan sát được với vị trí chuột, có thể đặt lại vị trí drag-object
của tôi.hủy đăng ký không phải là chức năng trên
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';
}
});
Với thi này, tôi không có vấn đề đăng ký theo cách này:
this.mouseMove$.subscribe();
tuy nhiên tôi dường như không thể ngừng đăng ký bởi một trong hai:
this.mouseMove$.unsubscribe();
hoặc
this.mouseMove$.dispose();
trong cả hai trường hợp tôi nhận được các loại sau đây của các lỗi:
TypeError: this.mouseMove$.unsubscribe is not a function ...
Tôi không chắc chắn nếu điều này đã làm với các loại mouseMove$
của any
, nhưng thiết lập các kiểu như Observable
và Observable<MouseEvent>
đã không làm việc. Tôi không hiểu gì ở đây?
bạn có thể sửa đổi câu trả lời với mô tả chính không? – Sergii
Thay vì sử dụng "mouseMove $: any", hãy khai báo kiểu dữ liệu thành ISubscription, sẽ xóa lỗi bạn đang thấy. – Roger