Использование ng-repeat для результатов из обещания PouchDB

0

У меня есть следующий код, генерирующий некоторые результаты из БД:

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 вложен, а не чистый массив. Поэтому в списке записей нет записи.

Как я могу получить к нему доступ как таковой?

Изображение 174551

Теги:
arrays
promise
pouchdb

1 ответ

1
Лучший ответ

Это очень легко:

<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>

Ваша структура данных кажется действительно грязной, подумайте о ее очистке.

  • 0
    Привет Кевин! Что вы имеете в виду? Результат обещания?
  • 0
    in recordlist.rows не может получить к нему доступ, так как сам объект находится внутри doc ..
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню