AngularJS: quando si applica il filtro personalizzato ai dati, ottengo un'uscita vuota
Domanda
Sto cercando di applicare un filtro per alcuni dati che sto tirando fuori dallabispalla.
Il mio html è simile a questo:
<span ng-bind-html="game.rating | ratings"></span>
.
Nota: se rimuovo il "| ratings"
funziona, e in uscita il testo originale da Firebase.
Ma una volta applicato questo filtro, non ottengo alcuna output, è solo vuoto.:( Sono totalmente nuovo sia per angolare, in JavaScript e da Firebase.Quindi qualsiasi consiglio è molto apprezzato
'use strict';
MyApp.filter('ratings', function() {
return function(rating) {
switch(rating) {
case 1:
return "1star";
case 2:
return "2stars";
case 3:
return "3stars";
case 4:
return "4stars";
}
}
})
.
Qualcuno di voi ha visto questo prima?
Soluzione
Forse l'output non è un int?Analizzalo.E usa un default, è una buona pratica.
MyApp.filter('ratings', function() {
return function(rating) {
switch(parseInt(rating)) {
case 1:
return "1star";
case 2:
return "2stars";
case 3:
return "3stars";
case 4:
return "4stars";
default:
return "Not set";
}
}
})
. Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow