使用一个REST调用的Angular2多个组件

前端之家收集整理的这篇文章主要介绍了使用一个REST调用的Angular2多个组件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是Angular2应用程序的一部分(我们使用beta3),问题如下:

通常我们有一个组件使用一些使用一些休息调用的服务,组件显示数据.大.

但是我们确实有一个包含6个以上组件的页面,所有这些组件都使用相同的REST调用…(后端返回所有这些组件的数据),并且为每个组件调用6次REST是没有意义的,如果我们做一些客户端缓存会很奇怪.

是否有开箱即用的东西?还是一个处理这种情况的模式?

谢谢.

解决方法

只需在共享服务中执行此操作即可.如果只在bootstrap中添加它(…,[OtherProviders,HTTP_PROVIDERS,MyService]),每个组件将被注入相同的实例.将数据存储在服务中,每个组件都可以访问它

export class MyComponent {
  constructor(private dataService:MyService) {
    dataService.getData().subscribe(data => { this.data = data; });
  }
}
export class MyService {
  getData() {
    if(!this.data) {
      return http.get(...).map(...).subscribe(data => { this.data = data;});
    } 
    return this.data;
  }
}

猜你在找的Angularjs相关文章