我对Angular的世界有点新鲜。我目前正在使用Angular-4.4.6。 我的方案如下: 我有3个组件(例如C1,C2,C3),每个组件使用它们自己的服务(例如,S1,S2,S3分别),然后调用“http.get()”从休息后端获取数据。 我想知道的是,不是在三个服务中的每一个中注入“http:HttpClient”,我应该创建一个“RestService”类,其中包含所有其他调用,如get(),post(),put(),删除()然后:
OR
这两种方法是否有任何性能影响?
答案 0 :(得分:1)
我喜欢“基础服务”
export class ServiceModel<T>{
type: string;
url: string;
...
constructor(private _http: HttpClient) {
}
list(): Observable<T[]> {
return this._http.get<T[]>(this.url)
}
...
}
然后在data1Service
中export interface IData1
{
id:number;
desc:string;
...
}
@Injectable()
export class Data1Service extends ServiceModel<IData1> {
type:string="data1";
url:string="myurl/data1";
constructor(http: HttpClient) {
super(http)
}
}
但如果这个答案解决了你的问题,我不知道:(