service – Angular 2,一次从服务器加载数据并将结果共享给组件的最佳实践[重复]

前端之家收集整理的这篇文章主要介绍了service – Angular 2,一次从服务器加载数据并将结果共享给组件的最佳实践[重复]前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > What is the correct way to share the result of an Angular Http network call in RxJs 5?21个答案使用服务在Angular 2应用程序中存储(和共享)初始值的最佳实践是什么?
我有一个服务,从服务器加载大量数据作为资源,配置和其他数组和对象。
每次加载组件或路由到视图时,我都不想加载这些数据,我只想在应用程序启动时使用这些对象和已加载的数组,并根据需要重新加载。
问题是存储此值的正确位置以及如何在使用该服务的组件之间共享?
谢谢。
您必须考虑共享服务并确保只在组件之间共享单个实例。

shared service and shared object demo

注意:不要忘记在bootstrap函数注册服务。深入观察代码。你会得到你想要的。未演示路由部分。冲浪插入进一步实施

service.ts

import {Component,Injectable,Input,Output,EventEmitter} from 'angular2/core'
import {Router} from 'angular2/router';
import {Http} from 'angular2/http';


export interface Info {
   name:string;
}

@Injectable()
export class NameService {

  constructor(http:Http;router:Router)
  {
    this.http=http;
    // you can call server resource from here and store it down to any variable. 
  }

  info: Info = { name : "Jack" };
  change(){
    this.info.name = "Jane"; // this.info is shared among components.

  }
}

猜你在找的Angularjs相关文章