Я создаю приложение Angular 1.5 с использованием структуры компонентов. После того, как обещание вернется из вызова $ http в службе, я пытаюсь вызвать другую функцию для фильтрации набора данных, прежде чем он будет отображаться в пользовательском интерфейсе.Угловая функция в контроллере не получает вызов после обещания
Однако функция filterApps не вызывается.
Также ... в функции filterApps Я пытаюсь сравнить с массивами объектов и возвращать те, которые имеют одинаковое имя. Это лучший способ сделать это или есть более чистый способ?
Контроллер:
import allApps from '../../resources/data/application_data.js';
class HomeController {
/*@ngInject*/
constructor(ItemsService) {
this.itemsService = ItemsService;
this.displayApps = [];
}
$onInit() {
this.itemsService
.getItems()
.success((apps) => this.filterApps(apps));
}
filterApps(siteApps) {
this.displayApps = allApps.applications.filter((app) => {
siteApps.applications.map((siteApp) => {
if(siteApp.name === app.name) {
return app;
}
})
});
}
}
export default HomeController;
Я не вижу '$ http' называют ... –
ли это на самом деле попасть в успех обратного вызова, попробуйте добавить' .error ((ошибка) => console.log (ошибка)) '? Вы уверены, что 'getItems' вернет обещание .. проверьте консоль, а также за ошибку –
@DannyBuonocore $ http-вызов находится в сервисе, который не имеет никакого отношения к вопросу – erichardson30