Angularjs 单击“重复”以列出对象中具有未知属性名称的所有项

Angularjs 单击“重复”以列出对象中具有未知属性名称的所有项,angularjs,angularjs-ng-repeat,Angularjs,Angularjs Ng Repeat,我对(真实的)javascript和Angular都很陌生 我正在为家庭自动化写一个应用程序。应用程序返回一个设备列表,然后当你点击一个设备时,它会通过JSON(下面的示例)返回它的详细信息。我遇到的问题是,不同的设备类型在对象中返回不同的名称-值对,我赢了;我事先不知道这些。(例如,灯光开关将返回昏暗级别,但恒温器将返回传感器级别 显然,我的应用程序只能使用已知属性(例如,如果是灯光,则设置暗级别),但用户可能希望查看所有属性。它们是使用ng repeat列出所有名称-值对而不知道属性名称的一

我对(真实的)javascript和Angular都很陌生

我正在为家庭自动化写一个应用程序。应用程序返回一个设备列表,然后当你点击一个设备时,它会通过JSON(下面的示例)返回它的详细信息。我遇到的问题是,不同的设备类型在对象中返回不同的名称-值对,我赢了;我事先不知道这些。(例如,灯光开关将返回昏暗级别,但恒温器将返回传感器级别

显然,我的应用程序只能使用已知属性(例如,如果是灯光,则设置暗级别),但用户可能希望查看所有属性。它们是使用ng repeat列出所有名称-值对而不知道属性名称的一种方法吗

例如:

 {
    "name": "1-Wire Test1",
    "address": 0,
    "addressStr": "unknown",
    "classID": 3,
    "devProtocol": 999,
    "displayInUI": true,
    "displayLongState": "76.7 °F",
    "displayRawState": "76.700000",
    "folderID": 1418405935,
    "hasStateToDisplay": true,
    "id": 704024169,
    "lastChanged": 456266814,
    "lastChangedDateStr": "2014-06-16",
    "lastChangedRFC3339": "2014-06-17T01:46:54Z",
    "lastChangedRFC822": "Tue, 17 Jun 2014 01:46:54 GMT",
    "lastChangedTimeStr": "08:46:54 PM",
    "sensorValue": "76.7 °F",
    "type": "1-Wire Temperature Sensor",
    "typeFlags": 81,
    "typeSupportsDim": false,
    "typeSupportsEnergyMeter": false,
    "typeSupportsHVAC": false,
    "typeSupportsIO": false,
    "typeSupportsOnOff": false,
    "typeSupportsSensorValue": true,
    "typeSupportsSpeedControl": false,
    "typeSupportsSprinkler": false,
    "versByte": 0,
    "restParent": "devices"
}
当然,使用o中的
(k,v)重复语法:

例如:

{{property}:{{value}
在模板中

<div ng-repeat="(key, val) in anObject">
  <p>{{ key }}</p>
  <p>{{ val }}</p>
</div>

{{key}}

{{val}}


这将以排序方式显示基于键的对象。

太棒了。非常感谢。希望我能在速度方面给你一个额外的分数:-)标记此排序看起来如何?IMHO输出将与原始数组中确定的相同,否?。对于排序内容,需要使用类似“OrderBy”的过滤器,请参见:
var anObject = {randomName: "foo",
                randomNameNumber100: "bar"};
<div ng-repeat="(key, val) in anObject">
  <p>{{ key }}</p>
  <p>{{ val }}</p>
</div>