我正在使用Phonegap
框架。所有 js文件都已完全加载。
我使用以下声明。
var db = window.sqlitePlugin.openDatabase({ name: "MyDB.db" });
但我得到的错误如下:
TypeError: Cannot read property 'openDatabase' of undefined
有什么建议吗?
答案 0 :(得分:1)
有一些要点需要知道:
onDeviceReady()
方法触发后才能完成为此,我将使用modules .run()
方法打开数据库,如:
db = $cordovaSQLite.openDB("my.db");
在编写此行之前,请确保已添加 SQLite插件,并在项目中添加$cordovaSQLite
依赖项。
以下是一个例子:
var db = null;
var example = angular.module('starter', ['ionic', 'ngCordova'])
.run(function($ionicPlatform, $cordovaSQLite) {
$ionicPlatform.ready(function() {
if(window.cordova && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
}
if(window.StatusBar) {
StatusBar.styleDefault();
}
db = $cordovaSQLite.openDB("my.db");
$cordovaSQLite.execute(db, "CREATE TABLE IF NOT EXISTS people (id integer primary key, firstname text, lastname text)");
});
});
希望这对你有用。作为参考,您可以使用this:
答案 1 :(得分:-1)
你的TypeError回答你的问题很好;)
他无法执行功能' openDatabase()'因为此时没有定义你的window.sqlitePlugin。
向我们发送一些代码或确保在此执行时可以访问您的插件。
我建议你使用Debugger Chrom - > F12 在那里你可以很快找到你的问题:)
F12 - >退出 (底部你可以选择"控制台",顶部你选择"来源"并导航到你的文件) 断点 - >去吧:)