打字稿-使用新的Class()设置对象属性值

时间:2019-07-23 00:01:25

标签: javascript typescript

因此,我创建了一个表示元素属性的类:

export class ElementProperties {
    constructor(
        public value: string,
        public adminConsentRequired: boolean,
        public displayString?: string,
        public description?: string){}

}

然后我要创建一个与普通Javascript中相同的对象:

static readonly MyObject = {
        ChildProperty1: {
            NestedPropA: new ElementProperties(
                "My value",
                true
            ),
            NestedPropB: new ElementProperties(
                "My value in B",
                false
            )
        },
        ChildProperty2: {
            ...
        }
    }

但是我得到了错误:

Class 'ElementProperties' used before its declaration.ts(2449)

我有数十种ElementProperties对象初始化,因此没有必要为每个对象创建变量。

任何想法如何解决?

谢谢。

1 个答案:

答案 0 :(得分:0)

我觉得很蠢,但我找到了答案。

忘记了Typescript对文件中的声明顺序敏感。

MyObject在同一文件的另一个类中,并在最后声明了ElementProperties类。 更改顺序,以便ElementProperties类首先声明它可以解决此问题。