angularjs - IndexedDB回调不更新AngularJS中的UI

标签 angularjs google-chrome-app indexeddb db.js

我正在使用以下库在新的 Chrome 应用程序上访问 Angularjs 中的 IndexedDB:https://github.com/aaronpowell/db.js

当我尝试使用此方法在应用程序启动时更新 UI 时:

db.orders.query().all().execute().done(function(results) { 
        $scope.ordercount = results.length;
});

在我的 main.html 中,我使用 ordercount 变量:

Orders : {{ordercount}}

但是,除非我执行 ng-click 或任何其他 ng-* 事件,否则 UI 不会更新。我所需要的只是在加载应用程序时显示订单数量。我尝试了 $scope.apply(),但它抛出错误,指出 apply() 不可用。

请帮忙。

最佳答案

由于您是从 Angular js 外部获取值,因此您需要这样做,

$scope.$apply(function(){
  $scope.ordercount = results.length;
})

关于angularjs - IndexedDB回调不更新AngularJS中的UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20737343/

相关文章:

angularjs - 306_expandable_grid - 无法读取 'data' 的属性未定义

javascript - 如何在 ng-bind-html 中呈现 Angular 变量的内容

angularjs - 在 Angular 中强制进行摘要

javascript - 来自 Chrome 打包应用程序中沙盒页面的本地 xmlhttprequest

google-chrome-extension - 是否有 API/方法可以以编程方式获取 chromebook 中的可用磁盘大小?

javascript - Chrome 打包应用无法读取 urlIsSameOrigin 处未定义的属性 'protocol'

html - 在 ServiceWorker 中访问 indexedDB。竞争条件

jquery - 在indexedDB中打开多个数据库连接是否不好?

android - 授予无限持久存储权限

javascript - 访问 Controller 中 html 元素中的 ng-if 属性的值