我的app ion中存在问题。我有很多结果,但他们都是空的。在我的第一个console.log($scope.favoris)
我有2个对象,在我的第二个console.log($scope.favoris)
我有未定义
(抱歉我的英文)
谢谢
.controller('ProfilCtrl', function ($scope, $http) {
var getfav = localStorage.getItem("favorites");
var getfavo = JSON.parse(getfav);
var test = getfavo.length;
var log = [];
$scope.favori = [];
angular.forEach(getfavo, function (value, key) {
$http.post("http://api.exemple.fr/getFavoris.php?favoris=" + value).then(function (res, data) {
data = res.data;
$scope.favori.push(data);
// on dit que $scope.programs est egale au tableau program
$scope.favoris = $scope.favori;
console.log($scope.favoris);
return $scope.favoris;
});
console.log($scope.favoris);
});
});

<ion-view view-title="Profil">
<ion-content>
<!--<div ng-repeat="favo in favoris">-->
<span class="info-ingredient-title">Recettes que vous aimez</span>
<div ng-repeat="favo in favoris">
<a href="#/info/{{ favo.id }}">
<div class="item-category">
<div class="item-color-effect">
<span class="item-calorie">{{ favo.calorie }}</span>
<span class="item-kcal">kcal</span>
</div>
<div class="item-black-effect">
<span class="item-title">{{ favo.title }}</span>
</div>
<img class="item-img" src="{{ favo.img }}">
</div>
</a>
</div>
<!--</div>-->
</ion-content>
</ion-view>
&#13;
答案 0 :(得分:0)
第二个控制台位于post方法之外。由于angularjs执行异步http调用,它不会等待http调用的结果,并将移动到下一行代码,在您的情况下是console.log($ scope.favoris)。
希望它澄清