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?

È stato utile?

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