Получить определенные c полей из данных, возвращаемых вызовом http.get () в angular - PullRequest
0 голосов
/ 12 июля 2020

Вызов get возвращает следующие данные 1006 * в консоли появляется ошибка. Ошибка: не удается найти другой поддерживающий объект "[объект объекта]" типа "объект". NgFor поддерживает привязку только к Iterables, таким как Arrays.

Каким должен быть подход, я изучаю angular, пожалуйста, помогите, и как я могу получить из него только возраст и имя

1 Ответ

1 голос
/ 12 июля 2020

Обратите внимание на формат ваших JSON данных, это в основном объект с двумя ключами: «status» - строка и «data» - массив.

Сказав это, если вы только хотите получить часть результата «данные» , вам придется изменить код подписки следующим образом:

this.service.getEmployee().subscribe((res)=>this.employees = res.data)

Если, например, вы хотите изменить полученную услугу json в другой формат по вашему выбору, у вас есть оператор map rx js, который может преобразовать ваши данные из одного формата в другой,

Например, если массив ваших сотрудников состоит из только с двумя полями employee_age и employee_name , вы можете сопоставить результат следующим образом

    this.service.getEmployee().pipe(map(res=>{
let employeeArr: Employee[] = [];
res.data.forEach(x=>{
    let employeeObj: Employee=new Employee();
    employeeObj.employee_age = x.employee_age;
    employeeObj.employee_name = x.employee.name;

    employeeArr.push(employeeObj);
});
return employeeArr;
}).subscribe((res)=>this.employees = res);

Таким образом, в основном мы преобразовали наш ответ в другой формат.

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...