2016-04-25 17 views
0

どこが間違っているのか分かりませんが、私のフィルタは私の旅程オブジェクトのすべての旅程を隠しています。チェックボックスの入力に基づいて深いオブジェクトをフィルタリングする

私のオブジェクトがそう(彼らは非常に大きいですので、私はちょうどあなたの構造が表示されます)のようになります。

[ 
    { // itinerary 
     filters:{ 
       stops:2 
     } 
     ... children 
    }, 
    { 
     ... next itinerary 
    } 
] 

私ngRepeatは、私は私のfilterStopsスコープ項目を設定しています。この

<div class="col-sm-12 item" data-ng-repeat="itinerary in results | filter: {itinerary: {filters: {stops: filterStops}}} | orderBy: orderBy" data-ng-class="{ active: resultDetails }"> 

のように見えますように

md-checkbox aria-label="Non-Stop" data-ng-model="filterStops" ng-true-value="0">Direct</md-checkbox> 

何も表示されません。番号をハードコードするかどうかフィルタに直接入力するか、チェックボックスを使用してフィルタを選択するかを指定します。話すコンソールエラーはありません。フィルターオブジェクトのサブプロパティに到達するロジックが間違っていると思いますか?

私はここで紛失しています。

+0

を表示するには、この追加コントローラに

$scope.filter=function(obj){ return obj.filters.stops == $scope.resultDetails; } 

の方法を作成します。例えば、ブートストラップクラスはおそらく再解析に必要ないでしょうか?) – Jeroen

答えて

1

それはあなたが[MCVE](可能性も*削除*無関係なコードにコードにほんの少しを展開する場合に役立つだろう

data-ng-repeat="itinerary in results | filter: filter | orderBy: orderBy" 
+0

それはかなりうまくいく、ありがとう。純粋に部分的にこれを行う方法はありませんか?私はちょうどそれが私の推測のベストプラクティスと考えられている場合は、私のコントローラでは、いくつかのfiltrの機能を持っていないが、それを行うことを喜んで清潔になると思った。ありがとうございました! – Dbrandt

+0

これを他の場所で使用する場合は、このようなカスタムフィルタを作成することをお勧めします。https://docs.angularjs.org/tutorial/step_09 @Dbrandt –

+0

Gotcha、ありがとう。それは前に働いていたので、私の後退になるだろう。あなたの時間をありがとう。 – Dbrandt

関連する問題