【发布时间】:2019-08-20 13:26:11
【问题描述】:
今天,我尝试在我的 Angular 6 应用程序中执行此操作:
export interface AuthConfig {}
export interface BasicAuthConfig extends AuthConfig {
username: string;
password: string;
}
export interface OAuth2AuthConfig extends AuthConfig {
tokenName: string;
url: string;
callbackUrl: string;
clientId: string;
scope: string[];
grantType: grantTypes;
}
得到一个 lint 错误:
An empty interface is equivalent to `{}`. (no-empty-interface)
我想用我的 Endpoint 接口来做这个:
Export interface Endpoint {
…
authConfig: AuthConfig;
…
}
但被简化为这样做:
Export interface Endpoint {
…
authConfig: BasicAuthConfig | OAuth2AuthConfig;
…
}
不同类型的授权可能会很长,所以我不想继续将类型附加到 Endpoint 接口的 authConfig 属性中。有没有什么方法可以声明一个空接口来扩展它而不会对我大喊大叫?
谢谢。
【问题讨论】:
-
这也可以通过导出类型并将其设置为
BasicAuthConfig或OAuth2AuthConfig来完成。 (例如:export type AuthConfig = BasicAuthConfig | OAuth2AuthConfig)
标签: angular typescript interface lint