2016-09-23 9 views
0

HTML角度フィルタコントローラフィルタデフォルトの表示なしカテゴリが選択されていない場合は、すべてのオブジェクト

ng-click="selectCategory(item)" 

コントローラ私はその下のカテゴリフィルタコントローラ側が正常に動作し、フィルタリングしています持っている

$scope.selectCategory = function (newCategory) { 
      $scope.bottomValue = newCategory; 
    selectedCategory = newCategory; 
     $scope.selectedPage = 1; 

    } 

    $scope.categoryFilterFn = function (product) { 
    return selectedCategory == null || 
     product.category == selectedCategory; 
    } 

しかし、カテゴリが選択されていない場合、望ましくないオブジェクトは選択されません。

目的:カテゴリが選択されていない場合、配列内のすべての値を表示するようにします。 注意:$scope.bottomValueを下から削除すると、配列内のすべてのオブジェクトが返されます。

$scope.edition_products = $filter('filter')($scope.filteredItems, {approved:   true, category: $scope.bottomValue}); 

注:私は、私はフィルタと、このビュー側を行うことができていないが、私はこの作業をコントローラ側が欲しいです。

答えて

0

あなたは、フィルタのロジックをインラインで追加する方法はありますあなたもapprovedそこ

return product.approved && (!selectedCategory || product.category == selectedCategory);

+0

を追加したい場合があります

return !selectedCategory || product.category == selectedCategory;

にあなたの状態を更新することができますか? $ scope.edition_products = $ filter( 'filter')($ scope.filteredItems、{approved:true、category:$ scope.bottomValue}); – user3265817

+0

@ user3265817それは 'category'が' $ scope.bottomValue'にマッチする項目を表示し、 'falsy'の場合はカテゴリのない項目だけを返します。あなたが望むようにそれをすることが可能かどうかわからない – taguenizy

関連する問題