我基于ydn-db package:
var db = new ydn.db.Storage('Trans');
var iter_supplier = new ydn.db.IndexValueIterator('stops', 'stop_id');
var iter_part = new ydn.db.IndexValueIterator('times', 'stop_id');
var req = db.scan(function(keys, values) {
var SID = keys[0];
var PID = keys[1];
// console.log(SID, PID);
if (!SID || !PID) {
return []; // done
}
var cmp = ydn.db.cmp(SID, PID); // compare keys
if (cmp == 0) {
// console.log(values[0], values[1]);
var merged = angular.extend(values[0], values[1]);
console.log(merged);
$scope.results = merged;
// $scope.$apply(function() {
// $scope.results = merged;
// });
return [true, true]; // advance both
} else if (cmp == 1) {
return [undefined, SID]; // jump PID cursor to match SID
} else {
return [PID, undefined]; // jump SID cursor to match PID
}
}, [iter_supplier, iter_part]);
我正在尝试使用ng-repeat进行循环:
<div class="medium-6 columns" ng-repeat="result in results">
<div class="card hoverable">
<div class="content">
<span class="title">{{ result }}</span><small class="float-right">{{result.stop_id}}</small>
<div class="divider"></div>
<p>Times: {{ result.arrival_time }}</p>
</div>
</div>
</div>
我在ng-repeat中没有得到任何内容。它似乎没有循环。我做错了什么?
答案 0 :(得分:0)
merged
似乎是单个对象,目前在每次迭代时打印出来。您是要将results
设置为该单个对象,还是要寻找类似$scope.results.push(merged)
的内容来构建结果列表?
看起来你想要一个列表而不是一个单独的对象,但是如果你不想,而results
将成为一个单一的对象/字典,那么你将遍历键和使用ng-repeat="(key, value) in results"
的值。