2016-05-24 5 views
0

help.Iが必要です。いくつかの条件でangle.js.を使用して値を取得できません。以下のコードを説明しています。Angular.jsを使用して配列から値をフェッチできません

var subcategories = [{ 
      id:1, 
      name: 'SubCategory 1', 
      value: 1 
      }, { 
      id:2, 
      name: 'SubCategory 2', 
      value: 2 
      }, { 
      id:3, 
      name: 'SubCategory 3', 
      value: 3 
      }, { 
      id:4, 
      name: 'SubCategory 4', 
      value: 4 
      }]; 
    var result = $filter('filter')(subcategories, {id:1})[0]; 
    console.log('result',result); 

は、ここで私は、そのid=1subcategoriesオブジェクトからすべてのデータをフェッチする必要があります。しかし、コンソールで私は結果undefinedを得ています。私を助けてください。

+1

予想通り、このコードは動作します。問題は別の場所にある可能性があります。 –

+1

ここには、[Plunker](http://plnkr.co/edit/T6AWJPpu561tZgzRIfsO?p=preview)のコードが表示されています。 – mdickin

+0

おそらく複写 http://stackoverflow.com/questions/22851571/how-to-filter-by-a-specific-field-in-an-object-array-using-filterfilter – AlainIb

答えて

0

コードが動作します。 $ filterディレクティブをコントローラにインポートしましたか?

https://jsfiddle.net/naLqezvs/

function Controller($scope,$filter) { 
    $scope.subcategories = [{ 
     id:1, 
     name: 'SubCategory 1', 
     value: 1 
     }, { 
     id:2, 
     name: 'SubCategory 2', 
     value: 2 
     }, { 
     id:3, 
     name: 'SubCategory 3', 
     value: 3 
     }, { 
     id:4, 
     name: 'SubCategory 4', 
     value: 4 
     }]; 
    $scope.results = $filter('filter')($scope.subcategories, {id:1}); 
    $scope.result = $scope.results[0]; 
} 
+0

"しかし、コンソールでは結果が未定義になっています。 " OPが '$ filter'を挿入しなかった場合、彼のコードはおそらくTypeErrorで失敗するでしょう。 –

関連する問題