在angular4的外部类内部初始化内部类的更好方法。
这里有一个外部类名称ProductsModel,其中包含ProductsListModel。 我必须将ProductId字符串数组发送到服务器端请求。下面的代码在初始化外部类内部的内部类时工作正常。
未初始化时:
export class ProductsModel{
productList : ProductListModel;
}
这样做时,我收到以下错误消息:
无法将属性ProductId设置为未定义。
所以我在下面像这样按预期进行初始化,有没有更好的初始化方法
Outer Class:
export class ProductsModel{
productList = new ProductListModel();
}
export class ProductListModel{
ProductId:string[];
}
-- app. component.ts
export class AppComponent {
// initialsize outer class here:
products = new ProductsModel();
in this subscribe:
DetailsByProductID(){
this.products.productList.ProductId = ['8901','8902'];
//pass the model object here
this.ProductService.fetchByPID(this.products).subscribe(resposne=>console.log(response)});
}
}
答案 0 :(得分:1)
您应该只在组件中进行初始化,并使用属性保留类。
您收到错误消息“无法设置 ProductId
的属性未定义”。因为product为空。
您可以像在类中一样在组件内进行初始化。
products = new ProductsModel();
this.products.productList = new ProductListModel();
this.products.productList.ProductId = ['8901','8902'];