<分区>
使用服务在 Angular 2 应用程序中存储(和共享)初始值的最佳做法是什么? 我有一项服务可以从服务器加载大量数据作为资源、配置和其他数组和对象。 我不想在每次加载组件或路由到 View 时都加载此数据,我只想使用应用程序启动时已经加载的这些对象和数组,并在需要时选择性地重新加载。 问题是存储这些值的正确位置在哪里以及如何在使用该服务的组件之间共享? 谢谢。
<分区>
使用服务在 Angular 2 应用程序中存储(和共享)初始值的最佳做法是什么? 我有一项服务可以从服务器加载大量数据作为资源、配置和其他数组和对象。 我不想在每次加载组件或路由到 View 时都加载此数据,我只想使用应用程序启动时已经加载的这些对象和数组,并在需要时选择性地重新加载。 问题是存储这些值的正确位置在哪里以及如何在使用该服务的组件之间共享? 谢谢。
最佳答案
Gunter 关于共享服务的观点是完全正确的!
以下是 HTTP 的更多详细信息,它依赖于下一次调用的可观察对象和缓存数据:
export class SharedService {
constructor(private http:Http) {
}
getData() {
if (this.cachedData) {
return Observable.of(this.cachedData);
} else {
return this.http.get(...)
.map(res => res.json())
.do((data) => {
this.cachedData = data;
});
}
}
}
关于service - Angular 2,一次从服务器加载数据并将结果共享到组件的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35992877/