Лучший способ сделать инициализацию класса в машинном тексте angular4
Лучший способ инициализировать внутренний класс внутри внешнего класса в 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)});
}
}
1 ответ
Вы должны выполнять инициализацию только в компоненте, сохраняйте ваши классы такими же, как со свойствами.
Вы получаете сообщение об ошибке "Невозможно установить свойство ProductId
быть неопределенным."потому что продукт является нулевым.
Вы можете выполнить инициализацию внутри вашего компонента так же, как вы делали это внутри класса.
products = new ProductsModel();
this.products.productList = new ProductListModel();
this.products.productList.ProductId = ['8901','8902'];