2016-04-04 23 views
1

Merhaba, basit bir bileşen ve bir hizmetim var. Kullanıcı gönder düğmesini tıklattığında, bir async nesnesinin tüm abonelerine bir değer verdiği bir hizmeti çağırıyorum. Konuyla çalışmayı iyi yaptım, ancak bunu yapmak istiyorum burada yapmış http://plnkr.co/edit/tHjPVZ5NurJRWdCM9lbt?p=preview bir demo zaman uyumsuz Subject.I kullanarak ... Bu benim Servis ...Angular2 konusu angular2'de nasıl kullanılır?

export class ErrorService{ 
    latestError:AsyncSubject<>=new AsyncSubject(); 

    error(){ 
    this.latestError.next('form submitted'); 
    } 
} 

Ve bu i asyncsubject

export class AppComponent { 
    result:any; 
    constructor(private service:ErrorService){ 
    this.service.latestError.subscribe(err=> this.result=err); 
    } 

    onSubmit() { 
    this.service.error(); 
    } 
} 

abone ediyorum benim bileşen sınıftır Ama bu hata atıyor ... Nerede yanlış yapıyorum bilmiyorum ... Birisi bana bu hatayı düzeltmek ve göstermek için bana yardımcı olun http://plnkr.co/edit/SAl4YVXKRWpS7OeTYMrd?p=preview:

import {AsyncSubject} from 'rxjs/subject/AsyncSubject'; 

@Injectable() 
export class ErrorService{ 
    latestError:AsyncSubject<>=new AsyncSubject(); 
    error(){ 
    this.latestError.next('form submitted'); 
    } 
} 

bu plunkr bakınız: beni nasıl zaman uyumsuz konuyu kullanıp abonelerine

Sen sınıf bu şekilde dahil etmek gerek

cevap

3

değerleri yayacak şekilde.

+1

bu 'import/asyncSubject} 'rxjs/subject/AsyncSubject'; önceden tanımlanmış herhangi bir sınıf/içe aktarmadır? –

+0

Ama hizmet sınıfımda .next() çağrıldığında, bu bir değer yayar. Ayrıca async konusunu kurucumda abone oldum ... Ama async konusu tarafından yayılan değeri almıyorum –

+1

@PardeepJain You ayrıca rxjs/Rx modülünden içe aktarabilir: 'import {AsyncSubject} 'rxjs/Rx';'. –