我正在使用 Angular 构建一个项目,我使用 angular-cli 启动了该项目,当我尝试运行 ng build --prod
时,我不断收到此错误:
类型 Object 上不存在属性“描述”
产生此错误的代码如下:
export class AppComponent {
product: Object = {};
constructor(
private store: StoreService,
private request: RequestService,
) {
this.product = this.request.getProduct(_id);
}
}
<p>{{product.description}}</p>
我正在阅读一些关于此的内容,错误是因为我使用类型定义将产品定义为对象,但我没有传递任何属性定义。
我知道我可以定义一个接口,就像我对数组所做的那样,但我做不到。我不知道我是否定义错误,这就是我尝试的方式:
export interface ProductInterface {
id: Number;
description: String;
title: String;
}
product: Object<ProductInterface> = {};
但这也给了我错误。我需要做些什么来避免这种情况?
原文由 celsomtrindade 发布,翻译遵循 CC BY-SA 4.0 许可协议
对于你的第一个例子。在您的 html 中,您是说产品具有属性描述(它不在对象类型上)
在你的第二个例子中。您最初将产品定义为空对象
缺少接口的必填字段。所以你可以去掉初始化,留下
同样正如其他人所指出的,您不需要 Object<> 语法