У меня есть следующий код, генерирующий некоторые результаты из БД:
var db = pouchService.db;
db.allDocs({startkey: 'move_', endkey: 'move_\uffff', include_docs: true})
.then(function (data) {
$scope.recordlist = data;
console.log($scope.recordlist);
});
На переднем конце мне нужно отобразить эти результаты (а также некоторые вложенные свойства), используя ng-repeat:
<div class="row msf-row"
ng-repeat="record in recordlist | filter: shouldShow"
ng-class="{ 'msf-cancelled': record.cancelled, 'msf-commented' : record.comment}">
<div class="col-md-1">{{record.time}}</div>
</div>
Моя проблема в том, что результат Promise вложен, а не чистый массив. Поэтому в списке записей нет записи.
Как я могу получить к нему доступ как таковой?
Это очень легко:
<div class="row msf-row"
ng-repeat="record in recordlist.rows | filter: shouldShow"
ng-class="{ 'msf-cancelled': record.doc.cancelled, 'msf-commented' : record.doc.comment}">
<div class="col-md-1">{{record.doc.time}}</div>
</div>
Ваша структура данных кажется действительно грязной, подумайте о ее очистке.
in recordlist.rows
не может получить к нему доступ, так как сам объект находится внутриdoc
..