我想从FormBuilder.group(..)
向import { FormGroup } from "@angular/forms";
函数添加重载声明:
这似乎可行:
declare module '@angular/forms' {
interface FormBuilder {
group<T extends object>(
controlsConfig: { [key in keyof T]: any; },
options?: AbstractControlOptions | { [key: string]: any; } | null
): FormGroup;
}
}
但是,当我将其添加到src\typings.d.ts
时,其他全局类型定义将丢失。该文件的全部内容是:
import { AbstractControlOptions, FormGroup } from "@angular/forms";
type Public<T> = { [K in keyof T]: T[K] };
type Enum<T extends string> = { [K in T]: K};
declare module '@angular/forms' {
interface FormBuilder {
group<T extends object>(
controlsConfig: { [key in keyof T]: any; },
options?: AbstractControlOptions | { [key: string]: any; } | null
): FormGroup;
}
}
我收到类似找不到名称'Enum'或找不到名称'Public'的错误。
我猜想通过使用import
语句,打字稿会将文件识别为ES6模块。如何解决?