Angularjs: при нанесении пользовательских фильтров к данным я получаю пустой выход

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

  •  21-12-2019
  •  | 
  •  

Вопрос

Я пытаюсь применить фильтр для некоторых данных, которые я вытаскиваю из Firebase.

Мой HTML выглядит так:

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

Примечание. Если я удаляю "| ratings", он работает, и выводят исходный текст из Firebase.

Но как только я применяю этот фильтр, я не получаю никакого вывода, это просто пусто.:( Я полностью новых для угловых, JavaScript и Firebase.Так что любой совет очень ценится

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

У кого-нибудь из вас видели это раньше?

Это было полезно?

Решение

Может быть, вывод не является int?Разбирать его.И использовать по умолчанию, его хорошая практика.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top