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