我有这样的数据结构:
var someObject = {
'part1' : {
'name': 'Part 1',
'size': '20',
'qty' : '50'
},
'part2' : {
'name': 'Part 2',
'size': '15',
'qty' : '60'
},
'part3' : [
{
'name': 'Part 3A',
'size': '10',
'qty' : '20'
}, {
'name': 'Part 3B',
'size': '5',
'qty' : '20'
}, {
'name': 'Part 3C',
'size': '7.5',
'qty' : '20'
}
]
};
Run Code Online (Sandbox Code Playgroud)
我想使用这些变量访问数据:
var part1name = "part1.name";
var part2quantity = "part2.qty";
var part3name1 = "part3[0].name";
Run Code Online (Sandbox Code Playgroud)
part1name应该用someObject.part1.name's值填充,即"Part …
<div class="recent" ng-repeat="reader in
(filteredItems = (book.reader | orderBy: 'created_at' | limitTo: 1))">
</div>
Run Code Online (Sandbox Code Playgroud)
所以这本书来自rest api,它附有许多读者.我想得到'最近'的读者.
该created_at字段具有将用户标识为最近的值.但上面的代码给了我最老的读者.所以订单需要反转?有没有办法按降序排序?
我有一个ng-repeat,看起来像这样:
<div ng-app="questionnaire">
<div ng-controller="QuestionnaireCtrl">
<div ng-repeat="(key,val) in questions | orderBy:key">
{{questions[key].question}}
{{questions[key].answer}}
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
控制器看起来像这样:
(function(){
var app = angular.module('questionnaire',[]);
app.controller('QuestionnaireCtrl', function($scope){
$scope.questions = {
someItem: { question : 'First question' },
anotherItem: { question : 'Next question here' },
upgradeItem: { question : 'Another one' }
};
});
})();
Run Code Online (Sandbox Code Playgroud)
现在ng-repeat工作正常,但以随机顺序显示问题.我尝试过orderBy但无法使用它.我只是希望问题和答案(当前不在数组中)按索引的顺序显示(即它们在数组中的顺序).或者,我可以向数组中添加另一个字段"section",并按顺序显示它们.例如
$scope.questions = {
someItem: { question : 'First question', section : '1' },
anotherItem: { question : 'Next question here', section : '1' },
upgradeItem: …Run Code Online (Sandbox Code Playgroud) 我对(真正的)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"
}
Run Code Online (Sandbox Code Playgroud)