【发布时间】:2017-09-19 11:11:56
【问题描述】:
您好,我是 Angular 4 的新手。 我有一个名为“httpService”的服务,它具有 @angular/http 作为依赖项之一,还有其他的服务,它可以进行错误处理。
现在我有普通类(组件除外)说'Child.ts',它扩展了基类'Base.ts',构造函数在类上设置一些属性并使用上述httpService通过rest从服务器获取数据api。
我的整体结构如下所示。
Base.ts
============================================================
export class Base {
public url: string;
public httpSvc: HttpService;
constructor(url) {
this.url = url;
}
public getUrl(): string {
return this.url;
}
public query(reqParams: URLSearchParams): Observable<any> {
return this.httpSvc.get(this.getUrl(), reqParams);
}
}
并且拥有扩展基类的类。
Child.ts
============================================================
export class Child extends Base {
first_name: string;
last_name: string;
email: string;
constructor(url: string) {
super(url);
}
getCurrentUser(): Observable<User> {
return this.httpSvc.get(this.url + 'get-user-profile');
}
}
这样我就可以让每个模型都有自己的方法来从服务器获取数据。
现在在这种情况下,我如何使用尚未初始化的 httpService。
请给我建议方法或更好的解决方案。
谢谢
萨蒂什·拉卡尼
【问题讨论】:
-
好吧,将http服务添加到构造函数参数中,并从注入httpSvc的角度组件或服务构造这些对象。
标签: angular angular2-services angular4-httpclient