2016-07-06 91 views
4

我有以下的JSON數據結構AngularJS NG-重複過濾器子節點

{ "firstName" : "John", 
    "role" : "Manager", 
    "status" : { 
       "Id" : 30, 
       "Status" : "Appointment booked", 
       "statusDate" : 1467826508775 
      }, 
    "surname" : "Smith", 
    "title" : "Mr", 
} 

,我試圖用一個NG重複過濾,以第二級節點status.Status。我已經嘗試過以下但過濾器不起作用。

ng-repeat="data in data | filter: {status.Status: 'Appointment booked'}" 

上述可能的ng-repeat或我需要看看替代解決方案嗎?

+4

嘗試'過濾器:{狀態:{狀態:'預約預約'}}「' –

+0

非常好,謝謝。在這一天的大部分時間裏,我一直在摸索着。如果你把它作爲答案,我會把它標記爲正確的:) – Janbango

+0

這是一個答案 – marcusshep

回答

2

你總是可以使用自定義過濾器時,一切都失敗了:

ng-repeat="d in data | myFormat" 

JS:

app.controller('myCtrl', function ($scope) { 
    $scope.data = { 
     "firstName": "John", 
     "role": "Manager", 
     "status": { 
      "Id": 30, 
      "Status": "Appointment booked", 
      "statusDate": 1467826508775 
     }, 
     "surname": "Smith", 
     "title": "Mr", 
    } 
}); 

app.filter('myFormat', function() { 
    return function (x) { 
     if (x.status.Status == 'Appointment booked') { 
      return x; 
     } 
    }; 
}); 

正如評論mentionned

ng-repeat="d in data | filter : {status: { Status : 'Apointment booked'}}" 

作品藏漢

+0

我已經在@Italo Ayres的評論中使用瞭解決方案,但我會將它標記爲正確的答案,因爲它給了我深入瞭解自定義過濾器的靈活性。 – Janbango