AngularJS :Lors de l'application d'un filtre personnalisé aux données, j'obtiens une sortie vide
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 ?
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