angularjs – 如何使用ngCordova s??qlite服务和Cordova-SQLiteP
我一直试图将sqlite纳入一个简单的离子应用程序,这是我一直以来的过程:
ionic start myApp sidemenu 然后我安装sqlite插件: ionic plugin add https://github.com/brodysoft/Cordova-SQLitePlugin 和ngCordova bower install ngCordova 这给了我以下选择: 我选择了选项3) <script src="lib/ionic/js/ionic.bundle.js"></script> <script src="lib/ngCordova/dist/ng-cordova.js"></script> <script src="cordova.js"></script> <script src="js/app.js"></script> <script src="js/controllers.js"></script> 然后我将一个控制器添加到搜索视图: .controller('SearchCtrl',function ($scope,$cordovaSQLite){ console.log('Test'); var db = $cordovaSQLite.openDB({ name: "my.db" }); // for opening a background db: var db = $cordovaSQLite.openDB({ name: "my.db",bgType: 1 }); $scope.execute = function() { console.log('Test'); var query = "INSERT INTO test_table (data,data_num) VALUES (?,?)"; $cordovaSQLite.execute(db,query,["test",100]).then(function(res) { console.log("insertId: " + res.insertId); },function (err) { console.error(err); }); }; }) 这导致错误: > TypeError: Cannot read property 'openDatabase' of undefined > at Object.openDB (http://localhost:8100/lib/ngCordova/dist/ng-cordova.js:2467:36) 接下来我尝试手动包括SQLitePlugin.js: 我尝试包括在一切之前: <script src="SQLitePlugin.js"></script> <script src="lib/ionic/js/ionic.bundle.js"></script> <script src="lib/ngCordova/dist/ng-cordova.js"></script> <script src="cordova.js"></script> <script src="js/app.js"></script> <script src="js/controllers.js"></script> 我得到错误ReferenceError:cordova没有定义 真的很感激帮助 ionic --version 1.2.5 cordova --version 3.5.0-0.2.7 这是生成的bower.json { "name": "myApp","private": "true","devDependencies": { "ionic": "driftyco/ionic-bower#1.0.0-beta.13" } } 和我的package.json: { "name": "myapp","version": "1.0.0","description": "myApp: An Ionic project","dependencies": { "gulp": "^3.5.6","gulp-sass": "^0.7.1","gulp-concat": "^2.2.0","gulp-minify-css": "^0.3.0","gulp-rename": "^1.2.0" },"devDependencies": { "bower": "^1.3.3","gulp-util": "^2.2.14","shelljs": "^0.3.0" } }
如果有人在浏览器中尝试运行时仍然有错误,请尝试以下操作:
if (window.cordova) { db = $cordovaSQLite.openDB({ name: "my.db" }); //device }else{ db = window.openDatabase("my.db",'1','my',1024 * 1024 * 100); // browser } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |