AngularJS从对象中获取另一个值的方法

时间:2016-05-11 10:39:55

标签: javascript angularjs function object filter

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

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

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

可以通过AngularJS方式完成,或者我必须查看SO question

1 个答案:

答案 0 :(得分: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