我正在構建一個使用組件結構的Angular 1.5應用程序。承諾從服務中的$ http調用返回後,我試圖調用另一個函數在數據集顯示在UI上之前對其進行過濾。控制器中的角函數沒有在承諾後調用
但是,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