Лучший способ сделать инициализацию класса в машинном тексте 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'];
Другие вопросы по тегам