Ionic Framework - $ CordivaSQLite" TypeError:无法读取属性' openDatabase'未定义"

时间:2015-12-26 19:37:12

标签: javascript angularjs cordova ionic ngcordova

我正在开发一个安装了$ cordovaSQLite的Ionic应用程序,但是当我尝试运行openDatabase时,我收到了错误" TypeError:无法读取属性' openDatabase'未定义"。

我仔细检查了我的代码,openDatabase调用是在$ ionicPlatform.ready函数中,并且数据库文件已经正确安装,我可以提出任何建议吗?

谢谢和问候,

2 个答案:

答案 0 :(得分:0)

首先确保正确安装了ngCordova。 (可以在ngcordova网站上找到安装说明)以及指定的插件。

当您收到未定义的错误时,您应该始终查看是否已定义依赖项。这是人们从AngularJS开始时最常见的错误。

示例代码:

//inject your dependencies;
ControllerOrConfigFunction.$inject = ["$scope", "$cordovaSQLite"]

function ControllerOrConfigFunction($scope,$cordovaSQLite){
//your code here
}

这适用于您使用$ cordovaSQLite插件的所有函数。 您还可以在ngCordova website上找到一个很好的例子。

您可以通过多种方式在AngularJs中定义依赖注入,我现在推荐它,之后再看一下ng-annotate。

答案 1 :(得分:-1)

if (window.cordova) {
    db = $cordovaSQLite.openDB({ name: "my.db" }); //Device
    console.log("Android");
}
else
{
    db = window.openDatabase("my.db", '1', 'my', 1024 * 1024 * 100); // Browser
    console.log("browser");
}