2017-01-01 35 views
3

如何使用自定義過濾器在視圖中的日期2-10-2017中特別隱藏彩色鉛筆的庫存列?使用表格隱藏顯示自定義過濾器ng-repeat使用表格

彩色鉛筆特殊的庫存取決於彩色鉛筆的庫存,在這種情況下,它位於某處。

$scope.stationary = [{ 
    "name": "Pen", 
    "data": [{ 
     "date": "1-10-2017", 
     "inventory": 25 
    }, { 
     "date": "2-10-2017", 
     "inventory": 21 
    }] 
    }, { 
    "name": "Color Pencil", 
    "data": [{ 
     "date": "1-10-2017", 
     "inventory": 3 
    }, { 
     "date": "2-10-2017", 
     "inventory": 0 
    }] 
    }, { 
    "name": "Color Pencil Special", 
    "data": [{ 
     "date": "1-10-2017", 
     "inventory": 2 
    }, { 
     "date": "2-10-2017", 
     "inventory": 1 // hide this in the view since inventory of color pencil is zero 
    }] 
    }] 

http://jsfiddle.net/2krrda9k/

我都堅持這個好幾個小時。這是艱難的..

回答

1

您可以使用此自定義過濾器,

myApp.filter('match', function() { 
    return function(items) { 
    debugger; 
    var filtered = []; 
    var condition = false; 
    angular.forEach(items, function(item) { 
     angular.forEach(item.data, function(vals) { 
     if (vals.inventory == 0 && condition == false) { 
      condition = true; 
     } else if (vals.inventory != 0 && condition === false) { 
      if (filtered.indexOf(item) == '-1') { 
      filtered.push(item); 
      } 

     } 
     }); 
    }); 
    return filtered; 
    }; 
}); 

DEMO

+0

你撥弄鏈接是不行的,我想你忘了更新。 –

+0

不能讓它工作http://jsfiddle.net/3osg8asr/1/ –

+0

@JennyMok這裏是小提琴http://jsfiddle.net/sajeetharan/n1g4tdp5/ – Sajeetharan