2017-09-22 23 views
0

これが可能かどうかはわかりませんが、どんな洞察も高く評価されます。条件付きのAngularJsフィルタ

私は既に提供されているカスタムangularJsフィルタを使用してアルバムの期間をフィルタリングしようとしています。私は時間を表示するかどうかは、利用可能かどうかを表示したい場合は、それをしない場合。

Error: [$parse:ueoe] Unexpected end of expression: media.duration | peDateFormatFilter: ((HH > 0) ? "HH:mm:ss":{ "def": "H[ hrs] mm[ mins]" 

私は、これは何ができるかわからない:それに伴う問題は、それは私がそれを実行すると、ブラウザで実行誤る続けている

<span>{{ media.duration | peDateFormatFilter: ((HH > 0) ? {"HH:mm:ss":{ "def": "H[ hrs] mm[ mins]"}} : "mm:ss":{ "def": "mm[ mins])} }}</span> 

:私のようなものを使用してみましたか?自分のコード用に別のカスタムフィルタを作成するだけのベストソリューションですか?

ありがとうございました!

+0

これは実際には最高の解決策です。これは実際には問題なく動作しますが、誰がこれを維持しますか?数ヶ月であなたが何を意味するのかを知ることはとても難しいでしょう。 – pegla

+0

カスタムフィルタを作成します。このエラーは式であり、条件式を使用することはできません。https://docs.angularjs.org/guide/expression(コントロールフローステートメントなし) –

+0

anglejsまたはangular? –

答えて

0

私が行ったことは、2つの<span ng-ifをページに追加して、問題を直ちに解決します。

          <span ng-if="media.duration.substr(0,2) != 00">{{ media.duration | peDateFormatFilter:"HH:mm:ss":{ "def": "H[ hrs] mm[ mins]"} }}</span> 
              <span ng-if="media.duration.substr(0,2) == 00">{{ media.duration | peDateFormatFilter:"HH:mm:ss":{ "def": "mm[ mins]"} }}</span> 

ありがとうございます!

関連する問題