gpt4 book ai didi

javascript - Angular JS (Ionic) 数据数组到 $scope 元素

转载 作者:行者123 更新时间:2023-12-03 07:07:09 24 4
gpt4 key购买 nike

我没有什么问题,

我正在尝试从我的 SQLite 数据库获取数据,该功能正在运行,

我只是在需要恢复数据时遇到问题

这就是我所做的:

     $scope.facilityDatas = {};


dataBaseService.getFacilityById($stateParams.facilityId,function (data) {
$scope.facilityDatas = angular.copy(data);
console.log ('facility json : '+ angular.toJson($scope.facilityDatas));
});

数据变量包含一个包含我的请求结果的数据数组。我在我的服务中进行了测试,一切都很好。现在我只需要使 $scope.facilityDatas = data 但它不起作用......

我必须承认我有点迷失了。我几乎确定这没什么,但我不知道该怎么办......

希望您能找到问题所在。

问候

编辑

这是我的数据库函数:

getFacilityById: function(id,callback){

var data = [];
$cordovaSQLite.execute(db,'select * from FACILITIES where facilities_id = ?',[id]).then(function (results){
console.log(angular.toJson(results.rows.item(0)));

for (var i = 0, max = results.rows.length; i < max; i++) {

data.push(results.rows.item(i))

}

})



callback(data);

},

最佳答案

您在 $cordovaSQLite.execute 完成之前调用 callback,因此您得到空数组。

将此调用移至 then

getFacilityById: function(id,callback){
var data = [];
$cordovaSQLite.execute(db,'select * from FACILITIES where facilities_id = ?',[id]).then(function (results){
console.log(angular.toJson(results.rows.item(0)));
for (var i = 0, max = results.rows.length; i < max; i++) {
data.push(results.rows.item(i))
}
callback(data);
});
},

或者甚至返回promise并直接使用它,就像这样

getFacilityById: function(id,callback){
var data = [];
return $cordovaSQLite.execute(db,'select * from FACILITIES where facilities_id = ?',[id]).then(function (results){
console.log(angular.toJson(results.rows.item(0)));
for (var i = 0, max = results.rows.length; i < max; i++) {
data.push(results.rows.item(i))
}
return data;
});
},

并将其用作

$scope.facilityDatas = {};

dataBaseService.getFacilityById($stateParams.facilityId).then(
function (data) {
$scope.facilityDatas = angular.copy(data);
console.log ('facility json : '+ angular.toJson($scope.facilityDatas));
}
);

关于javascript - Angular JS (Ionic) 数据数组到 $scope 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36773419/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com