我試圖顯示部分服務器列表,但不明白他爲什麼沒有將它們寫入到數組中。我嘗試將它推送到數組,然後使用ng-repeat將其顯示在html 中,但它不是因爲我沒有嘗試過,所以沒有工作。
var app = angular.module('myApp', []);
app.factory("demoFac", ['$http',function($http){
var obj = {};
for(id = 10; id < 16; id++){
obj.fetchUserDetails = function(){
return $http.get('http://jsonplaceholder.typicode.com/photos/' + id);
}
return obj;
}
}]);
app.controller('customersCtrl',function(demoFac){
var Picture = this;
Picture.list = [];
demoFac.fetchUserDetails().success(function(response){
Picture.list.push({id: response.id,title:response.title, url: response.url, thumbnailUrl: response.thumbnailUrl})
});
console.log(Picture.list);
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="customersCtrl as Picture" ng-cloak>
<div ng-repeat="x in Picture.list ">
<h4>{{'id:'+x.id}}</h4>
<h3>{{x.title}}</h3>
<h4>{{x.url}}</h4>
<h4>{{x.thumbnailUrl}}</h4>
<img ng-src="{{x.thumbnailUrl}}">
<img ng-src="{{x.url}}">
</div>
</div>
我嘗試不同的方法,但結果是一樣的,不明白我AMAS做錯了嗎?
'console.log(Picture.list);'記錄什麼? –
當我首先運行它有1個項目,但是當我重新加載它是空的,但仍然顯示結果 – Jaro
它實際上不是空的,如果你看到網絡標籤響應來了1個元素..它顯示空,因爲到時間成功回調稱爲console.log語句已經以'[]'初始值執行。我知道_爲什麼它第一次顯示1個元素,以及因爲不相信開發者工具的控制檯行爲奇怪,它會在打開它們之後評估您的日誌。我以前遇到過同樣的問題,並在其中一個答案中找到了這個問題。 – vinayakj