risposta da FissioCome ottenere l'Indice oggetto in base al valore?
Sto cercando di fare una funzione di ricerca semplice angolare. Quando l'utente digita qualcosa nel campo di input, voglio cercare tra tutti i "titoli" nel mio JSON, e se una parola corrisponde all'ingresso, allora voglio riportare tutti gli oggetti relativi alla partita.
FABBRICA
ho creato una fabbrica per recuperare dati da JSON utilizzando una promessa.
.factory('podcastData', function($http) {
var podcastData = {
async: function() {
var promise = $http.get('http://radio-sante-animale.fr/podcast-data.php').then(function(response) {
return response.data.categories;
})
return promise;
}
};
return podcastData;
})
Quindi nel mio controller, ho provato a fare un programma di ricerca nel mio Controller. Quello che ho tentato finora, sono riuscito a fare un ciclo for, ho ottenuto la lunghezza dell'array, poi ho ottenuto tutti i 'podcast' nell'array, e sono poi riuscito a far corrispondere tutti i valori con l'input.
CONTROLLER
Aggiornato
$scope.findValue = function(enteredValue) {
console.log(enteredValue);
var filtered = [];
podcastData.async().then(function(data) {
for (i = 0; i < data.length; i++) {
angular.forEach(data[i].podcasts, function(podcasts, key) {
var foundPodcasts = _.filter(podcasts, function(podcast) {
return podcasts.title.toLowerCase().indexOf(enteredValue) >= 0
});
if (typeof foundPodcasts !== 'undefined') {
filtered.concat(foundPodcasts);
console.log(foundPodcasts);
};
});
}
});
}
ho aggiornato il mio controller, ora faccio entrare in restituire tutti gli oggetti che corrisponda all'ingresso di ricerca, tuttavia quando ho console.log foundPodcasts questa è la mia risposta Questo è buono! Tuttavia, ci sono matrici vuote in mezzo, e io non sono in grado di fare un NG-REPEAT, dato che non ci sono VALUE che posso afferrare.
Puoi mostrarci il json dei "dati". Quali proprietà contiene? –
Ciao Anon, certo! http://radio-sante-animale.fr/podcast-data.php – anon