2016-08-16 27 views
2

擴展I有一個ng-repeat屬性用此過濾器AngularJS濾波器通過特性,其名稱來自可變

ng-repeat="offer in Offers.full | filter: { IdOffer: Filter.value } | orderBy: Order.type+Order.column track by offer.IdDeal 

非常簡單:對象數組包含在$scope.Offers.full「由命令」選擇屬性名存儲在$scope.Order.column(和$scope.Order.type添加一個+-切換從上升到下降),在"IdOffer"屬性的過濾器在$scope.Filter.value

現在我想過濾$scope.Filter.value不屬於"IdOffer"屬性,但屬性女巫名稱存儲在$scope.Filter.column變量。這可能是這樣嗎?

| filter: { Filter.column: Filter.value } 
+0

您是否嘗試過這種方法已經:

.filter('customFilter', function() { return function(input, filterColumn, filterValue) { if(!filterColumn || !filterValue) { return input; } var out = []; angular.forEach(input, function(item) { // convert numbers to strings so partial numbers can be matched as well var columnValue = angular.isNumber(item[filterColumn]) ? item[filterColumn].toString() : item[filterColumn].toLowerCase(); if(columnValue.includes(filterValue.toLowerCase())) { out.push(item); } }); return out; } }) 

你會像下面這樣使用它? –

+0

@UmairFarooq當然我做過 – Naigel

+0

你有沒有試過我提供的解決方案? – Lex

回答

1

您必須爲此編寫一個自定義過濾器,但這很容易。下面是一個示例,將做類似真實烤成角過濾不區分大小寫的過濾器:

| customFilter:Filter.column:Filter.value