1

我正在使用 phonegap 和 angular.js 构建移动应用程序。我正在使用 SQLite 来保存本地数据。我的问题是我无法渲染从 sqlite 获得的异步数据。所以问题是数据没有呈现我什至尝试过 $apply 方法但它不起作用。

这是我下面的代码

function ProjectListCtrl($scope) {
    $scope.test = function(){
        db.transaction(queryDB, errorCB);

        var test1 = function(db_result){
        //                $scope.projects = db_result;
        //                $scope.$apply();

            $scope.projects = db_result;
            $scope.$apply(function(){
                $scope.projects = db_result;
            });

            console.log($scope.projects)
        }
    var make_result = function (tx, results, $scope) {
        querySuccess(tx, results, $scope,test1 );
    };

    function querySuccess(tx, results, $scope, callback) {
        var len = results.rows.length;
        var db_result = [];
        for (var i=0; i<len; i++){
            db_result[i] = results.rows.item(i);
        }
          callback(db_result)
        // $scope.projects = results.rows;
        // $scope.$apply(); //trigger digest
    };

    function queryDB(tx) {
        tx.executeSql('SELECT * FROM Projects', [], make_result, errorCB);
    }
}

}

4

1 回答 1

0

我猜你需要使用 $q 服务

http://docs.angularjs.org/api/ng.$q

于 2013-08-20T06:34:30.967 回答