$ cordovaSQLite不在离子中工作?

时间:2016-11-23 06:36:07

标签: sqlite cordova ionic-framework

我在控制器中写了以下内容

    $scope.$on('$ionicView.afterEnter', function(event, data){
        var db = null;
        db = $cordovaSQLite.openDB({ name: 'app.db' });
        $cordovaSQLite.execute(db,"CREATE TABLE IF NOT EXISTS people (id integer primary key, firstname text, lastname text)");
});

我也在我的项目中安装了sqlite插件。

但每当我运行我的控制器时,我都会遇到错误$cordovaSQLite is not defined

3 个答案:

答案 0 :(得分:1)

要验证应用程序中是否安装了sqlite插件的Javascript和本机部分:

window.sqlitePlugin.echoTest(successCallback, errorCallback);

侦听 onDeviceReady 事件,然后使用sqlite。

document.addEventListener("deviceready", yourCallbackFunction, false);
function yourCallbackFunction()
{
     // Sqlite API implementation here
}

答案 1 :(得分:0)

使用以下命令

安装sqlite插件
  

cordova插件添加   https://github.com/litehelpers/Cordova-sqlite-storage.git

然后在app.js页面中,在运行功能中声明$ cordovaSQLite &添加您的数据库代码,

   .run(function($ionicPlatform,$cordovaSQLite,$timeout,$ionicLoading, $cordovaDialogs){
        var db = null;
        db = $cordovaSQLite.openDB({ name: 'app.db',location:1});       
        $cordovaSQLite.execute(db,"CREATE TABLE IF NOT EXISTS people (id integer primary key, firstname text, lastname text)");

   })

希望这会有助于!!!!

答案 2 :(得分:0)

在.run函数中,您应该初始化db,如:

            if (window.cordova) {
                // App syntax
                self.db = window.sqlitePlugin.openDatabase(CONFIG.DB_NAME);
            } else if (window.openDatabase) {
                self.db = window.openDatabase(CONFIG.DB_NAME, '1.0', 'database', -1);
            }