javascript - ionic +sqlite 在浏览器中工作但在真实设备上出现 TypeError

标签 javascript angularjs sqlite cordova ionic-framework

我仍在开发我的第一个 ionic 应用程序,但我再次遇到了一个问题:

我的应用程序使用 SQLite 来存储数据。我使用 ngCordova 的 sqlite-plugin 和 litehelpers 的 cordova-sqlite-storage 插件。

如果我使用“ionicserve --lab”测试应用程序,一切正常。没有错误,数据库有,数据没问题...

但是,如果我在 Android 设备“ionic run android -l -c -s”上测试它,我会收到以下错误,并且应用程序卡住:

0     779681   error    TypeError: Cannot read property 'transaction' of undefined
    at Object.execute (http://192.168.1.14:8100/lib/ngCordova/dist/ng-cordova.js:6872:11)
    at new <anonymous> (http://192.168.1.14:8100/js/controllers.js:284:18)
    at Object.instantiate (http://192.168.1.14:8100/lib/ionic/js/ionic.bundle.js:18010:14)
    at $controller (http://192.168.1.14:8100/lib/ionic/js/ionic.bundle.js:23412:28)
    at self.appendViewElement (http://192.168.1.14:8100/lib/ionic/js/ionic.bundle.js:59900:24)
    at Object.switcher.render (http://192.168.1.14:8100/lib/ionic/js/ionic.bundle.js:57893:41)
    at Object.switcher.init (http://192.168.1.14:8100/lib/ionic/js/ionic.bundle.js:57813:20)
    at self.render (http://192.168.1.14:8100/lib/ionic/js/ionic.bundle.js:59759:14)
    at self.register (http://192.168.1.14:8100/lib/ionic/js/ionic.bundle.js:59717:10)
    at updateView (http://192.168.1.14:8100/lib/ionic/js/ionic.bundle.js:65398:23)

我的应用程序有 4 个页面,并且与 ui-router 一起使用。每个页面都有自己的 Controller 。

我两周以来一直在寻找和尝试,但没有机会......

有什么提示吗?

谢谢, 克里斯蒂安。

最佳答案

我发现问题:在设备上加载数据库需要更长的时间,并且开箱即用的 Ionic(-> AngularJS -> JavaScript)不会等待任务。

所以我不得不使用 promise :

现在可以了...

关于javascript - ionic +sqlite 在浏览器中工作但在真实设备上出现 TypeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38744042/

相关文章:

c++ - 如何以编程方式设置 Sqlite PRAGMA 选项(即 "primary_key = On")?

javascript - 使用递归函数迭代嵌套对象,返回未定义

javascript - 将第三方脚本导入 React

javascript - angularJs - 如何防止执行额外的代码

javascript - 无法在 Angular 上删除

ios - 如何在 swift 中使用现有的 SQLite 数据库?

php - 未记录Codeigniter SQLite插入

javascript - 自定义周期值不适用于 Highcharts 中的线性指标

javascript - Node.js 中的回调和数据库变量

javascript - AngularJS 和 ui-bootstrap 注入(inject)错误(?)