2016-09-07 6 views
0

フィルタを使用してテーブルに値を表示しています。 ajax呼び出しによって取得される値は、値がフェッチされている間にスピナーを表示する必要があります。だから私は書いた:angularjsでフィルターを使用してスピナーを表示する方法は?

app.filter("fetchedValue", function(){ 
    return function(fetchedValue){ 
      if(angular.isUndefined(fetchedValue)){ 
        return "image";//this is the spinner 
      }else if(fetchedValue === null){ 
        return "NA"; 
      } 
      else{ 
        return fetchedValue; 
      } 
    } 
}); 

それは動作していません。値が定義されていないときにスピナーを取得する方法がわかりません。誰もそれをする方法を知っていますか?

答えて

1

フィルタが何のために誤解していると思いますか?関数に与えられた値をフィルタリングするかどうかに応じて、関数は真または偽を返します。

は、しかし、あなたの質問に答えるフィルタを忘れて、その値が定義されていないときだけ<img>ng-ifまたはng-showまたはng-hideを使用するにはhttps://docs.angularjs.org/api/ng/filter/filter

AngularJS custom filter functionを参照してください。

<img ng-hide="fetchedValue" src="spinner.gif" /> 

これは、取得した値が常に真実であることを前提としています。より堅牢な解決策は、要求の約束の最終ブロックにフラグを設定し、次にそのフラグに基づいてng-hideを設定することです。

+0

私は角度で値をフォーマットするためにフィルタを使うことができると思います。これは私がそのフィルタでやっていることです。 – Nisman

+0

あなたが何かできることがあるからといって、あなたはすべきではありません。角度のあるフィルタの目的は、配列を変更することではなく、配列内の要素のサブセットを選択することです。 –

関連する問題