首先,下载ng-cordova,放到js文件夹中。
在index.html,你需要加载ng-cordova。 js导入的顺序很重要。
<!-- ionic/angularjs js -->
<script src="lib/ionic/js/ionic.bundle.js"></script>
<script src="js/ng-cordova.min.js"></script>
<script src="cordova.js"></script>
<!-- your app's js -->
首先在您的app.js 中创建一个名为db 的变量。这对于从所有控制器获取访问权限很有用。
然后在模块依赖处添加'ngCordova'。
在$ionicPlatform.ready() 中,您必须打开您的数据库。如果你愿意,你也可以从这里执行查询。
var db = null;
angular.module('starter', ['ionic', 'ngCordova', 'starter.controllers', 'starter.services'])
.run(function($ionicPlatform, $cordovaSQLite) {
$ionicPlatform.ready(function() {
db = $cordovaSQLite.openDB({name: "mydatabase.db"});
$cordovaSQLite.execute(db, "CREATE TABLE IF NOT EXISTS tags (id integer primary key, name text)");
});
})
在您的控制器中添加$cordovaSQLite,现在您可以在控制器内执行查询。
同样适用于作用域函数。
.controller('TagsCtrl', function($scope, $cordovaSQLite) {
var query = "SELECT Count(id) AS count FROM tags";
$cordovaSQLite.execute(db, query).then(function(result) {
if (result.rows.item(0).count > 0) {
alert("database has rows");
} else {
alert("0 rows");
}
}, function(error) {
alert("error");
});
})
我不知道这是否是最好的方法,但它确实有效。希望对您有所帮助。