Javascript 角度和类型脚本:实例化复杂对象
我在Angular公司工作,在打字时遇到了一个困难。我不确定TypeScript的语法 我不明白为什么要创建这样的对象:Javascript 角度和类型脚本:实例化复杂对象,javascript,json,angular,typescript,Javascript,Json,Angular,Typescript,我在Angular公司工作,在打字时遇到了一个困难。我不确定TypeScript的语法 我不明白为什么要创建这样的对象: export class MyClass { isTrue: boolean; complexObject: { minValue: number; stringValue: string; }; MyClassString: string; MyClassString2: string; MyClassString3: stri
export class MyClass {
isTrue: boolean;
complexObject: {
minValue: number;
stringValue: string;
};
MyClassString: string;
MyClassString2: string;
MyClassString3: string;
}
export const MYCLASS: MyClass[] = [
{
isTrue: false,
complexObject: {
minValue: 7,
stringValue: "hello"
},
MyClassString: "one",
MyClassString2: "two",
MyClassString3: "three"
}];
我创建了一个MyClass数组,如下所示:
export class MyClass {
isTrue: boolean;
complexObject: {
minValue: number;
stringValue: string;
};
MyClassString: string;
MyClassString2: string;
MyClassString3: string;
}
export const MYCLASS: MyClass[] = [
{
isTrue: false,
complexObject: {
minValue: 7,
stringValue: "hello"
},
MyClassString: "one",
MyClassString2: "two",
MyClassString3: "three"
}];
即使此代码中没有语法错误,Angular编译器也会出错
如果我删除“complexObject”,一切正常。
如果我只使用基元类型创建实例,就不会有错误。
如何创建复杂对象并将其初始化为数组而不出现编译错误
仅当对象具有基元类型时,才能使用此语法实例化对象吗
错误是:Object literal只能指定已知属性,而“complexObject”在类型“MyClass”中不存在
export const MYCLASS:Array<MyClass>=[
{
},
{
}
]
导出常量MYCLASS:数组=[
{
},
{
}
]
我认为如果您以这种方式声明您的类会更好:
export class ComplexType {
minValue: number;
stringValue: string;
}
export class MyClass {
isTrue: boolean;
complexObject: ComplexType;
myClassString: string;
myClassString2: string;
myClassString3: string;
}
MyClass是一个类,但您正试图将其用作一个类型。@claudioz如果我将您的代码放到。一些旧版本的TS有bug。如果您使用的是旧版本,则应升级。否则,你需要在你的问题中添加细节(通过编辑,而不是在下面添加评论),这样人们就可以重现你的真实问题assignments@claudioz您能编辑您的帖子并显示您收到的错误消息吗?错误是:Object literal只能指定已知属性,“complexObject”不存在于类型“MyClass”中,这不是一个有用的答案,因为他给出的代码将无错误地编译,所以无论他得到什么错误(他让我们猜测可能是什么错误),都可能是由于其他代码中未发布的内容造成的。错误是:Object literal可能只指定已知属性,“MyClass”类型中不存在“complexObject”