定义像这样的平面类可以正常工作:
class Test {
company_name: string = "";
company_id: number = 0;
company_website: string = "";
}

如果我let product = new Test()
这一切都按预期工作,product
也会加载默认值。
我怎样才能实现同样的目标,但是对于不平坦的类变量?理想情况下它应该像这个例子中那样工作(失败):
class Test {
companyData: {
company_name: string = "";
company_id: number = 0;
company_website: string = "";
}
productData: {
category_id: number = 0;
product_name: string = "";
price: {
price_in: number = 0;
price_out: number = 0;
}
}
}

VSCode中的错误是A type literal property cannot have an initializer
。在我的用例中,设置所有变量非常重要,我可以为它们分配默认值。
答案 0 :(得分:2)
您正在定义Types
,而不是设置values
的{{1}}(或介于两者之间,语法无论如何都是错误的。)
请改为尝试:
properties
如果你想要它们class Test {
public companyData = {
company_name: '',
company_id: 0,
company_website: ''
};
public productData = {
category_id: 0,
product_name: '',
price: {
price_in: 0,
price_out: 0
}
};
}
(你应该),请使用接口:
Typed