如何在AngularJS中显示此列表

时间:2015-03-19 10:44:21

标签: angularjs angularjs-ng-repeat

    {
  "code": 2001,
  "message": "valid devices",
  "results": [
    {
      "event_type": "active_devices",
      "receivedtimestamp": "Thu, 12 Mar 2015 04:35:05 GMT",
      "sendtimestamp": "2015-03-19T18:18:00+0000",
      "source_ip_address": "192.168.1.4",
      "summary_hostname": [
        "",
        "android-74643bd169c2eb2c",
        "Windows-Phone"
      ],
      "summary_ip": [
        "",
        "192.168.10.111",
        "192.168.10.103"
      ],
      "summary_mac": [
        "",
        "e0:cb:ee:50:27:78",
        "78:92:3e:62:01:f8"
      ],
      "summary_start": [
        "",
        "2015/03/19 18:15:13",
        "2015/03/19 18:14:14"
      ]
    }
  ],
  "status": 200
}

我有这些数据。

我有一个变量$scope.data = results;,我正在使用ng-repeat来显示这些数据。如何使用ng-repeat显示此内容? 我想显示summary_hostname和summary_mac

3 个答案:

答案 0 :(得分:0)

ngRepeat指令从集合中为每个项目实例化一次模板。每个模板实例都有自己的作用域,其中给定的循环变量设置为当前集合项,$ index设置为项索引或键。

但是你使用了数组的一个元素。通过ngRepeat,您只能显示 summary_hostname,summary_ip,summary_mac,summary_start。 因为数组小于1行。

如果您只想显示一行的数组

<pre>{{data}}</pre>

如果数组不止一行,但是你只带了一部分数组,那么就可以打印出来了

<div ng-repeat="row in data">
    {{row.event_type}},{{row.source_ip_address}}
    <div ng-repeat="ip in row.summary_ip">{{ip}}</div>
</div>

答案 1 :(得分:0)

如果您只想显示summary_hostnamesummary_mac,请按以下步骤操作:

<div ng-controller="MyCtrl">

    <div ng-repeat="host in data.results[0].summary_hostname">
        {{host}}
    </div>

    <div ng-repeat="mac in data.results[0].summary_mac">
        {{mac}}
    </div>

</div>

Fiddle

答案 2 :(得分:0)

你想只显示summary_hostname和summary_mac,好吧这些东西以数组的形式显示JSON,所以你试图获得总数。请试试这个

<div ng-controller="MyCtrl">
  <div ng-repeat="host in data">
    {{host[0].summary_hostname}}
  </div>

  <div ng-repeat="mac in data">
    {{mac[0].summary_mac}}
  </div>
</div>