我有一个有角度的提要服务,它调用REST端点,该端点返回EntryDTO列表。该服务的外观如下:
@Injectable({providedIn: 'root'})
constructor(private http: HttpClient) {}
export class FeedService() {
getPublicFeedEntries: Observable<EntryDTO[]> () {
return this.http.get('/rest/publicFeedEntries/).map((response: Response) => response.json()).catch((err: any) => Observable.throw(error.josn().error || 'error');
}
}
所以我可以有一个订阅此可观察内容的供稿组件:
export class FeedComponent() {
private feedEntries: EntryDTO[];
constructor(private feedService: FeedService) { feedEntries = new Array(); }
ngOnInit() {
this.feedService.getPublicFeedEntries.subscribe(entries => {
this.feedEntries = entries;
}, err => {console.log(err) })
}
}
这是在服务中返回可观察对象并订阅组件的最佳实践吗?还是有其他最佳实践?
答案 0 :(得分:1)
您所遵循的方法非常好,但是要将其提升到一个新的水平,您可以在服务中引入模型,这将使响应易于在组件中读取/使用。
查看这篇写在ngx-model上的文章,该文章提供了在应用程序中遵循模型驱动方法的方法。