Я знаю, что это имеет какое-то отношение к обещаниям, но мне трудно понять, как их реализовать.
Мой контроллер:
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
То же самое происходит – mikeglaz