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);
}
}
}