#javascript #angular #typescript #angular6 #angular7
#javascript #угловой #typescript #angular6 #angular7
Вопрос:
Когда я отправляю запрос на сервер, ответ будет предоставлен мне в этом :
{
data:array(6),
message:"operation Success",
isSuccess:true,
statusCode:0
}
Вот почему я создал универсальный класс :
export interface GenericModel<T> {
data:T;
isSuccess:boolean;
statusCode:number;
message:string;
}
теперь я отправляю запрос на сервер с просьбой предоставить мне все Category List
, я создаю это универсальное поле:
ListResponse:GenericModel<CategoryModel[]>;
эта CategoryModel :
export interface CategoryModel {
id:number;
name:string;
parentId:number;
}
И я использую эту функцию:
GetMainCat(){
this.categoryService.GetListItem(this.GetAllcatListUrl).subscribe(data=>{
this.ListResponse=data
console.log(this.listCatModel)
});
}
Но в этой строке this.ListResponse=data
это показывает мне ошибку :
В типе ‘CategoryModel[]’ отсутствуют следующие свойства из типа ‘GenericModel’: данные, isSuccess, StatusCode, сообщения (2739)
Данные имеют этот формат:
{
data:array(6),
message:"operation Success",
isSuccess:true,
statusCode:0
}
В чем проблема?
Ответ №1:
Трудно сказать, потому что мы не можем видеть, как вы устанавливаете ListResponse
тип. Я предполагаю, что вам нужно установить для него правильный тип. Попробуйте установить его как any
если это работает, вы просто неправильно использовали тип
Редактировать: теперь я это вижу:
ListResponse:CategoryModel[];
Это должно исправить это