2017-01-27 3 views
1

私は1つのng-repeatフィルタを 'order'または 'the id'にフィルタする方法を探しています。 したがって、このような何か:2つの式を持つng-repeat条件フィルタ

ng-repeat "cd in cds | filter: !order ? orderBy:'id' : orderBy:'order'" 

順序が空の場合は注文が、それは「注文」で注文すべきデータを持っているのであれば(データを持っていない)、それは、idで注文する必要があります。これは可能ですか?今は同じデータを2回出力しますが、状態は機能していないようです。

+0

http://stackoverflow.com/questions/22621425/angularjs-filter-expression-in-ng-repeat – Merlin

+0

簡単な解決策が投稿されました –

答えて

1

あなたは近くでした。このような何かを試してみてください。

ng-repeat "cd in cds | orderBy: (!order ? 'id' : 'order')" 
+0

本当にありがとうございました。何らかの形でコントローラに$スコープを作らなければならなかった!私はそれが働くようになった方法を答えてください –

1

ありがとうアンドリュー・ダイアモンド、これは

ng-repeat="cd in cds| orderBy: (ordering != null ? 'order' : 'id')" 

と、この私のためのコントローラngのリピートになりましたが($のscope.orderingを追加する必要がありました):

function GetCDS() { 
     $http({ 
      method: 'Get', 
      url: "/cds" 
     }) 
      .success(function (data, status, headers, config) {   
       $scope.cds = data; 
       $scope.ordering = data[0].order; 
      }) 
      .error(function (data, status, headers, config) { 
       $scope.message = 'Unexpected Error'; 
      }); 
    } 
関連する問題