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?

¿Fue útil?

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
scroll top