1

こんにちは、単純なコンポーネントとサービスがあります。ユーザーが送信ボタンをクリックすると、非同期サブジェクトがすべてのサブスクライバーに値を発行するサービスを呼び出しています。 Subject.ここでデモを作成しましたhttp://plnkr.co/edit/tHjPVZ5NurJRWdCM9lbt?p=preview ...これは私のサービスです...

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

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

そして、これは私がasyncsubjectを購読している私のコンポーネントクラスです

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

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

しかし、これはエラーをスローしています...どこが間違っているのかわかりません...誰かがこのエラーを修正し、非同期サブジェクトを使用してサブスクライバーに値を発行する方法を教えてください

4

1 に答える 1

4

この方法でクラスを含める必要があります。

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

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

この plunkr を参照してください: http://plnkr.co/edit/SAl4YVXKRWpS7OeTYMrd?p=preview

于 2016-04-04T05:56:56.453 に答える