【问题标题】:Can not fetch the value from array using Angular.js无法使用 Angular.js 从数组中获取值
【发布时间】:2016-05-24 13:41:09
【问题描述】:

我需要一个帮助。我无法使用 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);

这里我需要从subcategories 对象中获取所有id=1 的数据。但是在控制台中我得到了结果undefined。请帮我。

【问题讨论】:

  • 此代码按预期工作。问题可能出在其他地方。
  • 这是一个Plunker,您的代码表明它可以正常工作。
  • 这可能会更容易做到subcategories.filter(sub => sub.id === 1)

标签: javascript angularjs


【解决方案1】:

代码有效。您是否将 $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];
}

【讨论】:

  • "但是在控制台中我得到了未定义的结果。"如果 OP 没有注入 $filter,他的代码可能会因 TypeError 而失败。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多