根据先前的get请求的ID过滤结果时出现问题:
$http.get('https://www.immobiliaremartina.it/inc/show_all.php')
.success(function (data) {$scope.results = data;})
.error(function () {alert("Errore di connessione!")})
$http.get('https://www.immobiliaremartina.it/inc/showFoto.php')
.success(function (data) {$scope.fotos = data;})
.error(function () {alert("Errore di connessione!")})
在这两次通话之后,我想根据fotos
的ID显示results
中的所有图片
<div class="slider gal" >
<ul class="slides" >
<li ng-repeat="foto in fotos | filter: result.ID === foto.ID">
<img src="/public/galleria/{{foto.URL}}">
</li>
</ul>
</div>
这怎么可能?
答案 0 :(得分:2)
您可以尝试以下
js
$scope.data = [];
var fotos = $http.get('https://www.immobiliaremartina.it/inc/showFoto.php')
var results = $http.get('https://www.immobiliaremartina.it/inc/show_all.php')
$q.all([fotos, results]).then(data => {
var fotoResult = data[0];
var resultResult = data[1];
for(i= 0; i< fotoResult.length;i++){
for(j = 0; j < resultResult.length;j++){
if(fotoResult[i].ID === resultResult[j].ID){
$scope.data.push(fotoResult[i]);
}
}
}
});
html
<div class="slider gal" >
<ul class="slides" >
<li ng-repeat="foto in data>
<img src="/public/galleria/{{foto.URL}}">
</li>
</ul>
</div>
上面的代码等待两个http请求的结果,并在它们加载后过滤控制器中的数据,并在html中显示过滤后的数据。
答案 1 :(得分:0)
创建函数:
$scope.isInResults = function(foto){
return results.filter((result) => result.id === foto.id)
};
然后
<li ng-repeat="foto in fotos | filter: isInResults">
<img src="/public/galleria/{{foto.URL}}">
</li>