2016-05-11 52 views
1

通过对象的键获取值的AngularJS方法是什么?AngularJS通过对象的另一个值获取值

var myobj= { 
     "set1": { 
      "key": "B11", 
      "color": "yellow" 
     }, 
     "setA": { 
      "key": "F34", 
      "color": "green" 
     } 
    } 

让我们说我想用"F34"抓住从myobj"green"? (myobj可以是任意数量的对象)。

它可以通过一个AngularJS的方式来完成,或者有如果您在使用多个控制器这种情况下打算看看到SO question

+2

这是一个一般的JS问题,而不是具体到角。 –

回答

2

/服务我想创建一个自定义过滤器做的工作为了我。

angular.module('myApp').filter('getColour', getColour); 

function getColour() { 
    return filter; 

    function filter(object, key) { 
     var colour; 
     angular.forEach(object, function(set) { 
      if (set.key === key) 
       colour = set.color; 
     }); 

     return colour; 
    } 
} 

然后可以使用这样的:

$scope.colour = $filter('getColour')(myobj, 'F34'); 

Example fiddle

相关问题