/ / Impossibile eseguire il rendering dei risultati JSON in ng-repeat - angularjs, json, angularjs-ng-repeat

Impossibile visualizzare i risultati JSON in ng-repeat - angularjs, json, angularjs-ng-repeat

Sto cercando di eseguire il ciclo dell'oggetto JSON nidificato restituito dalla ricerca nell'API REST di Spotify, ma non riesco a visualizzare i risultati.

All'interno del mio controller:

function fetch() {
$http.get("https://api.spotify.com/v1/search?q=" + $scope.search + "&type=artist&limit=50")
.then(function(response) {
console.log(response.data.artists.items);
$scope.details = response.data.artists.items;
});
}

che restituisce un oggetto simile al seguente:inserisci la descrizione dell'immagine qui

Sto cercando di ripetere la risposta in questo modo:

<div ng-if="details.response==="True"">
<ul ng-repeat="song in details">
<li>Songs:{{song.name}}</li>
</ul>
</div>

e visualizzare il external_urls valore, images URL, così come il name valore. Tuttavia, nessuno di questi viene reso (nemmeno la parola Songs che dovrebbe mostrare indipendentemente dal fatto che io abbia o meno i valori corretti).

risposte:

1 per risposta № 1

Cambiare il ng-if clausola

Fallo valutare come reale boolean questo diventa vero quando la risposta contiene dati.

Qualcosa di simile a:

.then(function(response) {
console.log(response.data.artists.items);
$scope.isTheDataLoaded = true;
$scope.details = response.data.artists.items;

E nel tuo html:

<div ng-show="isTheDataLoaded">

0 per risposta № 2

Cambia la tua condizione if in

<div ng-if="details">
<ul ng-repeat="song in details">
<li>Songs:{{song.name}}</li>
</ul>
</div>

Perché "dettagli" non contiene "risposta". Quindi devi solo verificare se esiste o se non è vuoto