簡體   English   中英

按功能過濾ng-repeat

[英]filter ng-repeat by function

我想使用ng-repeat遍歷數組,並根據函數屬性過濾包含的對象。 柱塞

這意味着我有一個這樣的對象:

vm.show1 = function(){
  return true;
};    
var object1 = {label: 'Object1', show: vm.show1};

並希望將其過濾如下:

<div ng-repeat="object in ctrl.objects | filter:{show:true}">{{object.label}}</div>

顯然,在上面的示例中, vm.show1是一個函數(因此不等於true )。 有沒有一種方法可以使過濾器調用該函數並評估結果,還是我必須編寫一個自定義過濾器?

編輯:這甚至可能嗎? 如果angular無法處理開箱即用的臟檢查,則過濾器將不知道何時需要重新評估該功能。

我認為最好的方法是使用自定義過濾器功能:

$scope.filterFn = function(object)
{
    //if true, rendered in ng-repeat
    //if false, not rendered in ng-repeat
    return object.show1(); 
};

<div ng-repeat="object in ctrl.objects | filter:filterFn">

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM