Angularjs:如何使用对象的键来检索另一个json对象的值

时间:2013-09-11 07:41:29

标签: angularjs angularjs-directive angularjs-ng-repeat

我有一个json对象数组

$scope.arrary = [{"a":"value"},{"b":"value2"},{"c":"value3"}];

$scope.secondObje = {"a":"this is updated value","b":"this is new value"}

我可以使用

遍历'array'
<div ng-repeat="(key,value) in array">

现在如何使用键

访问第二个对象的值

我想要像{{secondObje.key}}这样的东西,我怎样才能在角度上做到这一点。

这样我就可以打印"this is updated value""this is new value"

请帮帮我。

1 个答案:

答案 0 :(得分:10)

您的代码失败,因为$scope.arrary是一个数组,因此key中的<div ng-repeat="(key,value) in arrary">为您提供从0开始的索引(即0,1,2)而不是字母(a,b) ,c)你想要的。

选项1: 解决此问题的一种方法是更改​​$scope.arrary的格式,以便您拥有

$scope.arrary = [{"key":"a", "value":"value"},{"key":"b", "value":"value2"},{"key":"c", "value":"value3"}];

然后,您可以使用第二个对象上的键作为

<div ng-repeat="a in arrary">
    {{ secondObje[a.key] }} <br>
</div>

选项2: 但是,如果您想保持$scope.arrary的方式,可以使用第二个对象上的键作为

<div ng-repeat="a in arrary">
    <div ng-repeat="(key, value) in a">
        {{ secondObje[key] }} <br>
    </div>
</div>

DEMO

以下是这些的工作演示:http://jsfiddle.net/5NzZX/119/

我更喜欢第一种选择。