Добрый день!
Очень прошу помощи.
class ApiModel {
item_class
list = {}
url
loadItems() {
fetch(this.url).then(data => {
data.forEach(item => {
// класс будет определен в наследумом классе
let item_class = this.item_class
this.list[item.id] = new item_class(item)
})
})
}
/**
* @return Что тут писать ?
*/
getList(){
return this.list
}
/**
* @param id
* @return Что тут писать ?
*/
getItem(id){
return this.list[id]
}
}
class ProductModel extends ApiModel {
url='some-route'
item_class = ProductItem
}
class ProductItem {
constructor(data) {
this.data = data
}
/** методы сущнсоти **/
}
let product_model = new ProductModel()
let product_item = product_model.getItem(id)
Что необходимо написать в анотации, что бы product_item - был типа "ProductItem" при этом не объявляя этого явно в ProductModel.
Ни как не получается найти как это реализовать....
Буду очень сильно благодарен!!!