我有一个构造函数,它将一个包含对象属性的对象作为参数。
class MyObj {
a = 0;
b = 0;
c = 0;
d = 0;
constructor(params){
for(var i in params)
this[i] = params[i];
}
}
我的目标是在编写new MyObj({a:1})
之类的内容时自动完成。
现在,我需要创建一个具有自动完成功能的独立界面
interface MyObjOptions {
a?:number;
b?:number;
c?:number;
d?:number;
}
constructor(params:MyObjOptions){...}
有没有办法在不必复制界面中的所有字段的情况下这样做?
答案 0 :(得分:1)
有没有办法在不必复制界面中的所有字段的情况下这样做?
您可以将对象放入config
属性:
interface MyObjOptions {
a?:number;
b?:number;
c?:number;
d?:number;
}
class MyObj {
constructor(public options:MyObjOptions) {
}
}
但是如果你想要默认,你必须在界面中列出它们+把它们写出去,所以你必须写出例如a
两次。没办法