我希望访问$ scope.list中的对象'2016-11-12'并显示订单和余额。怎么能实现呢?
列表:
$scope.list = {
ItemCode:'item1',
'2016-11-12':[{Order:'1',Balanace:'2'}],
'2016-11-15':[{Order:' ',Balanace:' '}]
}
我已经尝试了indexof
,但似乎无效。
$scope.list[0].indexof(1)
任何想法和建议都会很棒!
答案 0 :(得分:0)
访问指定日期的订单价值:
$scope.list['2016-11-12'][0]['Order']
要访问给定日期的余额值(拼写错误的余额btw):
$scope.list['2016-11-12'][0]['Balance']
答案 1 :(得分:0)
使用括号表示法:
$scope.list['2016-11-12'];
参见示例:
var app = angular.module('TestApp', []);
app.controller("testCtrl", function ($scope) {
$scope.list = {
ItemCode:'item1',
'2016-11-12':[{Order:'1',Balanace:'2'}],
'2016-11-15':[{Order:' ',Balanace:' '}]
};
$scope.test = $scope.list['2016-11-12'];
});

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="TestApp">
<div ng-controller="testCtrl">
{{test}}
</div>
</div>
&#13;
答案 2 :(得分:0)
你所谓的$ scope.list实际上是一个对象而不是你想象的数组。 '2016-11-12'是该对象中具有数组值的字段,其中只有一个对象。构造对象的一种更灵活的方法是将对象放在item对象内的数组中,然后通过索引访问它们。
$scope.list = {
ItemCode:'item1',
ThingsArray:[
{Date:'2016-11-12', Order:'1',Balanace:'2'},
{Date:'2016-11-15', Order:' ',Balanace:' '}
]
}
然后您可以使用$scope.list.ThingsArray[0]
访问它们。请注意,我已将日期移动到对象本身。