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