AngularJS:Al aplicar un filtro personalizado a los datos, obtengo un resultado vacío
Pregunta
Estoy intentando aplicar un filtro a algunos datos que estoy extrayendo de Firebase.
Mi HTML se ve así:
<span ng-bind-html="game.rating | ratings"></span>
Nota:Si elimino el "| ratings"
funciona y genera el texto original desde firebase.
Pero una vez que aplico este filtro, no obtengo ningún resultado, simplemente está vacío.:( Soy totalmente nuevo en Angular, JavaScript y Firebase.Así que cualquier consejo es muy apreciado.
'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";
}
}
})
¿Alguno de ustedes ha visto esto antes?
Solución
¿Quizás la salida no sea un int?Analizarlo.Y utilice un valor predeterminado, es una buena práctica.
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";
}
}
})
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow