无法创建打字稿 class 对象
Unable to create typescript class object
Typescript 的新手,我遇到了 Typescript class,如下所示。
export class Errors {
errors: { [key: string]: string } = {};
}
我正在尝试手动创建此错误对象。你能展示一下这个的用法吗?我尝试了以下方法。
errList: Errors = new Errors();
errList = {'key':'value'};
errList = [
{
Key: "code1",
value: "err1"
},
{
Key: "code2",
value: "err2"
},
]
errList.errors = {
[key1]:"myValueX" , [key3]:"myValueY"
};
要按照您声明的方式初始化 class,您必须使用:
var err = new Errors();
err.errors = {
"key": "value"
};
另一种选择是也定义一个构造函数,然后你可以像这样初始化:
export class Errors {
constructor(public errors: { [key: string]: string } = {}){};
}
var err = new Errors({
"key": "value"
});
如果你在 class 上没有任何错误,你也可以使用接口来代替,这样你就不需要构造函数,你可以只使用对象字面量来初始化:
export interface Errors {
errors: { [key: string]: string };
}
var err: Errors = {
errors: { "key": "value" }
};
您选择哪一个取决于偏好和您的用例。我会选择构造函数版本,这是最简洁的初始化方式,而且还允许您使用 instanceof
运算符,而接口版本则没有。
你的class:
export class Errors {
errors: { [key: string]: string } = {};
}
有一个数据成员errors
,但你只能这样做:
errList: Errors = new Errors();
errList = {'key':'value'};
尝试对第二行执行此操作:
errList.errors = {'key', 'value'};
Typescript 的新手,我遇到了 Typescript class,如下所示。
export class Errors {
errors: { [key: string]: string } = {};
}
我正在尝试手动创建此错误对象。你能展示一下这个的用法吗?我尝试了以下方法。
errList: Errors = new Errors();
errList = {'key':'value'};
errList = [
{
Key: "code1",
value: "err1"
},
{
Key: "code2",
value: "err2"
},
]
errList.errors = {
[key1]:"myValueX" , [key3]:"myValueY"
};
要按照您声明的方式初始化 class,您必须使用:
var err = new Errors();
err.errors = {
"key": "value"
};
另一种选择是也定义一个构造函数,然后你可以像这样初始化:
export class Errors {
constructor(public errors: { [key: string]: string } = {}){};
}
var err = new Errors({
"key": "value"
});
如果你在 class 上没有任何错误,你也可以使用接口来代替,这样你就不需要构造函数,你可以只使用对象字面量来初始化:
export interface Errors {
errors: { [key: string]: string };
}
var err: Errors = {
errors: { "key": "value" }
};
您选择哪一个取决于偏好和您的用例。我会选择构造函数版本,这是最简洁的初始化方式,而且还允许您使用 instanceof
运算符,而接口版本则没有。
你的class:
export class Errors {
errors: { [key: string]: string } = {};
}
有一个数据成员errors
,但你只能这样做:
errList: Errors = new Errors();
errList = {'key':'value'};
尝试对第二行执行此操作:
errList.errors = {'key', 'value'};