我知道這與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