我有以下从服务中读取的功能:
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/