在AngularJs服务中使用WebSQL

时间:2015-07-13 21:53:23

标签: javascript angularjs cordova web-sql angular-services

我正在使用cordova和AngularJs构建混合移动应用程序。我已经设置了一个WebSQL来在我的应用程序本地存储数据。我试图将我的WebSQL查询抽象为Angular服务。但是,每当我从控制器调用服务中的方法时,都不会返回任何内容。当我对控制台进行控制台登录时,结果变量会清楚地返回数据库中的数据。但是它似乎并没有将数据返回给我的控制器。我知道如果你使用普通的vanilla JS或其他带有angular的框架,那么代码需要包含在$ digest / $ apply函数中。由于$ scope变量在Angular Services中不可用,因此我不太确定如何在此实例中应用它。下面是我想要实现的一个例子。

app.service('UserService', function(){

    this.getAll = function(){
        db.executeSql("SELECT * FROM users", [], function(tx, results){
            return results.rows;
        });
    }

});


app.controller('myCtrl', function($scope, UserService){

    $scope.users = UserService.getAll();

});

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:-1)

这是一个非常简单的服务,您可以放入您的应用程序

Try this one