我有一個目標構件的服務。主題提供了一類的一個實例:Angular> 2主題直接訂閱或使用方法?
public selectedProjectSubject: Subject<Project> = new Subject();
主題的值與方法更新:
public updateSelectedProject(project: Project) {
this.selectedProjectSubject.next(project);
}
在幾類我訂閱的主題:
this.projectSubscription = this.projectService.selectedProjectSubject.subscribe((project: Project) => {
this.projectSelected = project;
});
直接認購主體或向主體(可觀察)提供另一種方法是否是一種好的做法?
如果你希望你的項目對象在您的應用程序的不同的地方共享,當你通過一個新的項目,以你的主題都它無處不在更新,那麼它要走的路。您不應該使用方法返回主體本身,只需訂閱它。 – Stanislasdrg
感謝您的回答。 – hsc
非常歡迎。 RxJS和觀測量往往遵循一種函數式編程範式,因此爲什麼你應該儘量避免getter和setter方法:-) – Stanislasdrg