如何在angularjs中使用过滤器显示微调器?

时间:2016-09-07 20:09:40

标签: angularjs

我使用过滤器在表格中显示一些值。通过ajax调用获取的值,我想在获取值时显示微调器。所以我写道:

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 个答案:

答案 0 :(得分:1)

我认为您误解了过滤器的用途。该函数应该返回true或false,具体取决于您是否希望过滤给函数的值。

请参阅https://docs.angularjs.org/api/ng/filter/filterAngularJS custom filter function

要回答您的问题,请忘记过滤器,并在未定义值时在ng-if上使用ng-showng-hide<img>

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

这假设您获取的值始终是真实的。更强大的解决方案是在请求承诺的finally块中设置一个标志,然后根据该标志设置ng-hide