我知道这与Promise有关,但我很难理解如何实现它们。
我的控制器:
angular.module('landingApp')
.controller('MainCtrl', function($http, $q){
var main = this;
main.favoritesIds = [];
$http.get('api/v1/planograms/get_favorites')
.success(function(data){
for(var i=0; i < data.planograms.length; i++)
main.favoritesIds.push(data.planograms[i].id);
});
main.isFavorite = function(planogram_id){
return main.favoriteIds.indexOf(planogram_id) > -1;
};
然后在我的模板我使用isFavorite()这样的:
<div class="col-md-6" ng-repeat="planogram in main.planograms">
<i class="fa fa-star fa-2x favorite" ng-class="{'yellow' : main.isFavorite(planogram.id)}">
所以基本上我想要的星星图标变成黄色,所有的货架标有“最爱”。但main.isFavorite()返回undefined我猜,因为$ http.get方法尚未解决。所以我的问题是如何在这种情况下实现承诺?
尝试过(而不是成功() – Asik 2015-02-09 18:00:00
同样的事情发生 – mikeglaz 2015-02-09 18:04:53