gpt4 book ai didi

javascript - 如何在 promise 响应后为 ngTableParams 使用数据 - Angular

转载 作者:行者123 更新时间:2023-11-29 16:03:27 25 4
gpt4 key购买 nike

我为 Controller 实现了这段代码

.controller('tableCtrl', function($scope, $filter, $sce, ngTableParams, tableListUser) {
var data = [];
tableListUser.getAll()
.then(function(data) {
console.log("THEN DATA : ", data);
$scope.data = data;
});
data = $scope.data;
console.log("DATA : ", data);

// Full Params Sort, Filter, Edit
this.tableFull = new ngTableParams({
page: 1, // show first page
count: 10, // count per page
sorting: {
name: 'asc' // initial sorting
}
}, {
total: data.length, // length of data
getData: function ($defer, params) {
console.log("Data tableFull :", $scope.data);
// use build-in angular filter
var orderedData = params.sorting() ? $filter('orderBy')($scope.data, params.orderBy()) : $scope.data;

orderedData = params.filter() ? $filter('filter')(orderedData, params.filter()) : orderedData;

orderedData = orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count());


console.log(orderedData.length);
params.total(data.length); // set total for recalc pagination
$defer.resolve(orderedData);

}
})
}

这是服务

.service('tableListUser', function($http, SessionService, AccessLevels) {
return {
getAll: function() {
console.log('Service tableListUser');
var token = SessionService.get('token');
console.log(token);
$http.defaults.headers.common.Authorization = 'Bearer ' + token;
var url = 'http://api-ec.local/users';
var promise = $http.get(url);
return promise.then(function(result) {
console.log("RESULT : ", result);
return result.data.data;
});
}
};
})

我在这里评论了很多帖子:asynchronously populating an AngularJS ngTable with json data

但是我不能使用 var data 中的数据,因为它是 Undefined。 promise 的响应很好,并获得了应用程序期望的数据,因为当我在 tableListUser.getAll().then 中记录数据时,它很好。我使用 $socope.data 传递数据并在 ngTableParams 中使用它的方式有问题吗?这阻碍了我很多。

在此先感谢您的帮助。

最佳答案

我猜你没有使用 controllerAs 语法。如果是这种情况,只需将 this.tableFull 更改为 $scope.tableFull 就可以解决问题。您的代码与我执行此操作的旧应用程序几乎相同,这是唯一不特定于域的区别。

关于javascript - 如何在 promise 响应后为 ngTableParams 使用数据 - Angular,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36922552/

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