[我正在使用Angular构建项目,我使用angular-cli启动了该项目,当我尝试运行ng build --prod
时,我一直收到此错误:
对象类型上不存在属性'描述'
产生此错误的代码如下:
export class AppComponent {
product: Object = {};
constructor(
private store: StoreService,
private request: RequestService,
) {
this.product = this.request.getProduct(_id);
}
}
<p>{{product.description}}</p>
我正在阅读有关此内容,并且错误是因为我正在使用类型定义将产品定义为Object,但是没有传递任何属性定义。
我知道我可以像定义数组一样定义接口,但是我做不到。我不知道是否定义错误,这就是我尝试过的方法:
export interface ProductInterface {
id: Number;
description: String;
title: String;
}
product: Object<ProductInterface> = {};
但是它也给我错误。我需要怎么做才能避免这种情况?
第一个例子。在您的html中,您说的是产品具有属性描述(它不在Object类型上)
首先,我只使用product: ProductInterface;
,甚至不必初始化它。
从我的情况..
您必须在实现OnInit接口的控制器的OnInit方法中定义请求并定义一个新方法
就我而言,在将我的属性设置为public
从服务器请求数据时,使用any
而不是Object
是安全的,因为我们不知道将从服务器返回什么。因此,您无需typecheck
如果该属性是动态的(在编译时未知),则可以使用