Angular.js:如何访问嵌套对象文字

时间:2014-09-01 09:28:13

标签: javascript json angularjs

我有以下数据结构:

{ 
    current: { Number: '8', AnotherNumber: 123 },
}

{ 
    current: { Number: '9', AnotherNumber: 456 },
}

我希望在角度视图中打印出表格:

Number  AnotherNumber
8       123

我正在尝试这个,但它正在显示整个当前对象

  <li ng-repeat="friend in friends">
        <span ng-repeat="(key, value) in friend">
            {{friend.current}}
        </span>
  </li>

2 个答案:

答案 0 :(得分:1)

您的案例中的单个friend元素是一个对象{current:{}},用于迭代键和值,您应该执行以下操作:

<li ng-repeat="friend in friends">
    <span ng-repeat="(key, value) in friend.current">
        {{key}} {{value}}
    </span>
</li>

http://plnkr.co/edit/hWKl262YIi0IBhIebJGz?p=preview工作plnkr示例

答案 1 :(得分:1)

您的代码应如下所示:

<table>
    <tr>
        <th>Number</th>
        <th>AnotherNumber</th>
    </tr>
    <tr ng-repeat="friend in friends">
        <td>{{friend.current.Number}}</td>
        <td>{{friend.current.AnotherNumber}}</td>
    </tr>
</table>

与此问题无关,但为了简洁,你可以这样做:

<table>
    <tr><th>Number</th><th>AnotherNumber</th></tr>
    <tr ng-repeat="friend in friends" ng-init="c=friend.current">
        <td>{{c.Number}}</td><td>{{c.AnotherNumber}}</td>
    </tr>
</table>

<强>更新

如果你愿意,你可以盲目地&#34;盲目地&#34;在键上,但这将导致列按字母顺序排序(除非您添加更多代码以明确指定其顺序):

<table>
    <tr>
        <th ng-repeat="key in firends[0]">{{key}}</th>
    </tr>
    <tr ng-repeat="friend in friends">
        <td ng-repeat="(key value) in friends">{{value}}</td>
    </tr>
</table>

另请参阅此 short demo