2015-09-21 26 views
-1

我嘗試在NG-重複AngularJs,過濾器 「afoo」,而不是 「富」

main.html中

<table> 
     <tr ng-repeat="param in MyParam | filter: UnrequestValue"> 
      <td>{{param.Label}}</td> 
     </tr> 
</table> 

Main.js管理過濾器

MyParam: Array<parameter>; 
param1: parameter; 
param2: parameter; 
param3: parameter; 

$scope.UnrequestValue = "!foo"; 

$scope.param1 = "TooFoo"; 
$scope.param2 = "Foo"; 
$scope.param3 = "Too"; 

$scope.param1.Label = "this is TooFoo"; 
$scope.param2.Label = "this is Foo"; 
$scope.param2.Label = "this is Too"; 

我想打印:

  • 這是TooFoo
  • 這太

,但目前我已經得到的結果爲:

  • 這太

這裏我的過濾器工作不正常的預期。 由於我需要遵循規範,所以我無法更改標籤。 。

誰能知道解決這個問題嗎? 它與ng-if一起工作良好。

在此先感謝!

+0

什麼是你想怎麼辦? –

+0

我有一個數組,在兩個選項卡中使用。一旦必須展示每一個元素,另一個必須展示其中的一些元素。 –

回答

0

希望這會有所幫助,您必須編寫自定義過濾器返回不匹配值

angular.module('myApp',[]).filter('weDontLike', function(){ 

    return function(items, name){ 

     var arrayToReturn = [];   
     for (var i=0; i<items.length; i++){ 
      if (items[i].name != name) { 
       arrayToReturn.push(items[i]); 
      } 
     } 

     return arrayToReturn; 
    }; 
}); 

function HelloCntl($scope) { 
    $scope.friends = [ 
     { 
     name: 'John', 
     phone: '555-1276'}, 
    { 
     name: 'Mary', 
     phone: '800-BIG-MARY'}, 
    { 
     name: 'Mike', 
     phone: '555-4321'}, 
    { 
     name: 'Adam', 
     phone: '555-5678'}, 
    { 
     name: 'Julie', 
     phone: '555-8765'} 
    ]; 
} 

http://jsfiddle.net/bens/CBgcP/

+0

這不行。我編輯了我的帖子。 –

+0

檢查編輯答案 – kavinhuh