我正在开发一个安装了$ cordovaSQLite的Ionic应用程序,但是当我尝试运行openDatabase时,我收到了错误" TypeError:无法读取属性' openDatabase'未定义"。
我仔细检查了我的代码,openDatabase调用是在$ ionicPlatform.ready函数中,并且数据库文件已经正确安装,我可以提出任何建议吗?
谢谢和问候,
麦
答案 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");
}