【发布时间】:2017-08-03 01:48:03
【问题描述】:
我正在尝试使用打字稿编写插件。我声明了一个这样的接口:
interface Options {
options1: string,
options2: number,
options3: boolean,
...
}
而且,我把它用作这个导出类可能采用的选项并重载它:
export class MyClass {
constructor(public options: Options = {} as Options) {
// options which can be overload
let {
/* default options: */
option1 = 'option1',
option2 = 2,
option3 = true,
...
}: Options = options as Options;
// overload
this.options.option1 = option1;
this.options.option2 = option2;
this.options.option3 = option3;
}
}
最后我实例化了它。
const class1 = new MyClass({
...
})
我使用 vscode 作为我的编辑器。对我来说,intellisense 只给我这样的提示是没有意义的:
MyClass(选项?:选项)
我认为应该是这样的:
MyClass(options?: {options1: string, options2: number ... })
有人知道为什么会发生这种情况,以及如何使智能感知按预期工作吗?
【问题讨论】:
标签: typescript visual-studio-code typescript-typings typescript2.0