2016-03-20 26 views

cevap

2

Örneğiniz çok eskidir, kullanımdan kaldırılmış ve uzun süre önce kaldırılmış olan toRx() gibi şeyleri kullanmaktadır. Örnek ayrıca EventEmitters kullanıyor ve bunlara abone oluyor ve biz should't do that ve değerleri de nativeElement kullanarak DOM'a ayarlıyoruz ve shouldn't do that either biziz.

yüzden Örnek I EventEmitter kaldırıldı biraz

  • modifiye ve toRx() kaldırıldı Konu
  • , hiçbir cursor ve elemanın position ayarlamak için artık
  • kullanılmış Oluşturucu'daki gerekli tarafından değiştirilir.

Bu, kodun şu ana kadar neye benzediğinin küçük bir pasajıdır, bu farklı değildir.

constructor(public element: ElementRef, public renderer: Renderer) { 
    this.renderer.setElementStyle(element.nativeElement, 'position', 'relative'); 
    this.renderer.setElementStyle(element.nativeElement, 'cursor', 'pointer'); 

    this.mousedrag = this.mousedown.map(event => { 
     event.preventDefault(); 
     return { 
      left: event.clientX - this.element.nativeElement.getBoundingClientRect().left, 
      top: event.clientY - this.element.nativeElement.getBoundingClientRect().top 
     }; 
     }) 
     .flatMap(imageOffset => this.mousemove.map(pos => ({ 
     top: pos.clientY - imageOffset.top, 
     left: pos.clientX - imageOffset.left 
     })) 
     .takeUntil(this.mouseup)); 

    } 

İşte full example çalışıyor.

+0

çok teşekkürler. Şimdi anladım :-) – alpavlove

+0

Rica ederim! –

+1

"Yapmamalılar" linklerini beğendim :) –

0

Repo'unuzdan eski sürüm Angular2 packages kullanıyormuşsunuz gibi görünüyor.
Ama bunu deneyebilirsiniz, ya da Eric Martinez size harika çalışma demo vermiştir.

ithalat 'rxjs/Rx';

İlgili konular