私はSubjectメンバーとサービスしています。テーマは、クラスのインスタンスを提供する:Angular> 2 Subjectサブスクリプションを直接購読するか、またはメソッドを使用しますか?
public selectedProjectSubject: Subject<Project> = new Subject();
件名の値は方法で更新された:i被写体に加入いくつかのクラスに
public updateSelectedProject(project: Project) {
this.selectedProjectSubject.next(project);
}
:
this.projectSubscription = this.projectService.selectedProjectSubject.subscribe((project: Project) => {
this.projectSelected = project;
});
Subjectに直接登録するか、Subject(Observable)に別の方法を提供するのがよい方法ですか?
私は多くの場所でBehaviorSubject
を使用して、私はそう、私は通常、すべての被験者のために次の操作を行い、被写体を含むサービスの
.value
外を使用してから、私のチームメイトを阻止したい
あなたのプロジェクトのオブジェクトをあなたのアプリの異なる場所で共有して、新しいプロジェクトをあなたのサブジェクトに渡すときにどこでも更新されるようにしたい場合、それは行く方法です。メソッドを使用してサブジェクト自体を返すべきではなく、それをサブスクライブするだけです。 – Stanislasdrg
答えをありがとう。 – hsc
大歓迎です。 RxJSとObservablesは関数型プログラミングのパラダイムに従う傾向があります。そのため、セッターとゲッターを避けようとする理由: – Stanislasdrg