javascript - ng-repeat 仅在窗口单击后填充 - AngularJS 和 PouchDB

标签 javascript angularjs pouchdb

我有以下从服务中读取的功能:

var db = pouchService.db;
db.allDocs({startkey: 'move_', endkey: 'move_\uffff', include_docs: true})
.then(function (data) {
    $scope.recordlist = data;
    console.log($scope.recordlist);
});

服务:

angular.module('msfLogger').service('pouchService', PouchService);

function PouchService() {
  var self = this;
  self.db= new PouchDB('FleetDB');
};

在前端,我试图从 $scope.recordlist 填充一个 ng-repeat,但是现在,当我加载页面时,ng-repeat 将为空,并且当我点击页面上的任何地方时,它就会被填充。

此外,当我在数据库中添加新项目时,它只会在页面重新加载并点击窗口后显示,不会自动显示。

<div class="row msf-row" ng-repeat="record in recordlist.rows">
    <div class="col-md-1">{{record.doc.time}}</div>
    <div class="col-md-1"><strong>{{record.doc.car}}</strong></div>
    <div class="col-md-2">{{record.doc.driver}}</div>
    <div class="col-md-2">{{record.doc.from}}</div> 

    ...
</div>

我错过了什么?

最佳答案

我认为即使你有 angular-pouchdb 作为一个库,你也需要将它注入(inject)到服务中,如果没有,你正在正常使用全局 PouchDB 库并且应该管理 $scope.$apply 手动。

angular.module('msfLogger', ['pouchdb']).service('pouchService', PouchService);

function PouchService(pouchDB) {
  var self = this;
  self.db= pouchDB('FleetDB');
};

关于javascript - ng-repeat 仅在窗口单击后填充 - AngularJS 和 PouchDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32780531/

相关文章:

javascript - 暂时禁用 AngularJS 中的表单验证

php - 数据库文本无法解析为 JSON

java - 413 请求实体太大 - 使用 Spring Boot 和 Rest 模板

javascript - Pouchdb 将附件保存到我们本地电脑的哪里?我们可以检查哪个文件夹?

node.js - PouchDB 基本身份验证不适用于同步网关

pouchdb - 从数据库中获取所有数据

javascript - IIS 6 js 和 css 压缩不适用于 Firefox 14.0.1

javascript - Paper.js 中的 Canvas 清除

JavaScript onHightlight?

javascript - 在示例中的 Controller 中共享数据 - AngularJs