【发布时间】:2018-03-15 22:17:33
【问题描述】:
我正在编写一个包含 httpClient 的基类。它用于进行 REST api 调用。如果在构造函数中定义了 httpClient 变量,但在私有变量中没有定义,则该变量设置正确。
这是我的示例代码:
@Injectable()
export class MyBaseClass implements {
private httpClient = HttpClient
constructor(
private httpClient2: HttpClient
) {
console.log("httpClient2", httpClient2)
console.log("httpClient2.get", httpClient2.get)
}
callApi() {
console.log("httpClient", this.httpClient)
console.log("httpClient.get", this.httpClient.get)
}
}
如您所见,这两个变量并不相同,并且 httpClient 的 get 属性未定义。
我会在整个类中使用构造函数中的变量,但我想要扩展这个类并且在构造函数中使用变量并不方便。
任何帮助/建议将不胜感激。
谢谢,
会
【问题讨论】:
-
您能否以派生类不需要特定构造函数的方式创建基类?
-
如果你的意思是子类,那么没有。我必须在构造函数子类中运行“super()”作为我的第一条语句。
-
派生类中绝对需要构造函数吗?
-
不错的主意,但我想我确实需要它们。
标签: angular typescript get undefined httpclient