AngularJS :Lors de l'application d'un filtre personnalisé aux données, j'obtiens une sortie vide

StackOverflow https://stackoverflow.com//questions/23027794

  •  21-12-2019
  •  | 
  •  

Question

J'essaie d'appliquer un filtre à certaines données que j'extrait de Firebase.

Mon code HTML ressemble à ceci :

<span ng-bind-html="game.rating | ratings"></span>

Note:Si je supprime le "| ratings" cela fonctionne et affiche le texte original de Firebase.

Mais une fois que j'applique ce filtre, je n'obtiens aucun résultat, il est simplement vide.:( Je suis totalement nouveau sur Angular, JavaScript et Firebase.Donc tout conseil est très apprécié

'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";
        }
    }
})

L'un d'entre vous a-t-il déjà vu cela ?

Était-ce utile?

La solution

Peut-être que la sortie n’est pas un entier ?Analysez-le.Et utiliser une valeur par défaut, c'est une bonne pratique.

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";
        }
    }
})
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top