service - Angular 2,一次从服务器加载数据并将结果共享到组件的最佳实践

标签 service angular

<分区>

使用服务在 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/

相关文章:

java - 连接开销低的服务

android - 在 Android 服务中的 WindowManager 中为 ImageView 设置动画

angular - 延迟加载获取当前路由模块

javascript - 在 Angular 2 中将图像转换为 base64

android - 方法编译错误以检查服务是否正在运行

hibernate - Spring嵌套@Transactional方法和回滚

c# - 您如何找到 Windows 服务的 .NET 版本?

node.js - ng new my-app 意外 token =

angular - 如何在 Angular 6 项目中使用 svg.js 和插件

angular - 从模板 *ngfor 获取索引以在我的 typescript 类中使用