作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个基类:
export class ClientBase {
constructor(private uri: string, private httpClient: HttpClient) { }
// My Various Methods
}
我有几个派生自 ClientBase 的类
例如:
@Injectable()
export class GizmoService extends ClientBase {
constructor(private http: HttpClient)
{
super(environment.gizmoUri, http);
}
};
因此,在 GizmoService 中,我想在一种特定情况下专门传递 Uri..
所以理想情况下我想做这样的事情:
@Injectable()
export class GizmoService extends ClientBase {
constructor(private http: HttpClient, uri?: string)
{
if (!uri) uri = environment.gizmoUri;
super(uri, http);
}
};
但是我收到错误消息,表明 super 必须是构造函数中的第一个调用。
如何解决这个问题,而无需对现有代码库进行大量更改? (即不更改每次调用以传递 2 个参数)
最佳答案
您始终可以为 uri
参数指定默认值。
@Injectable()
export class GizmoService extends ClientBase {
constructor(private http: HttpClient, uri: string = environment.gizmoUri) {
super(uri, http);
}
}
关于javascript - Typescript:如果派生类中没有传递任何值,如何设置可选参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54080835/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!