Можете ли вы помочь мне, пожалуйста, им новое в angularJS,
у меня есть проблемы с Asynchrounous $ http.get, я объясняю: я получил данные, которые я показываю в ngTable, но в моем HTML я получил пустую таблицу, пока я не щелкнул, чтобы фильтровать или сортировать, тогда я вижу свои данные.
Я думаю, это потому, что у меня есть обещание в моем http.get. вот мой код, чтобы понять больше (простите за мой английский)
'use strict';
(function() {
angular
.module('timeShareApp')
.controller('homeController', homeController);
function homeController($http, $scope, $filter, NgTableParams) {
$scope.users =[];
$http.get('/api/users/').success(function(response) {
$scope.users = response;
});
$scope.usersTable = new NgTableParams({
page: 1,
count: 10
}, {
total: $scope.users.length,
getData: function ($defer, params) {
$scope.data = params.sorting() ? $filter('orderBy')($scope.users, params.orderBy()) : $scope.users;
$scope.data = params.filter() ? $filter('filter')($scope.data, params.filter()) : $scope.data;
$scope.data = $scope.data.slice((params.page() - 1) * params.count(), params.page() * params.count());
$defer.resolve($scope.data);
}
});
}
homeController.$inject = ["$http", "$scope", "$filter", "NgTableParams"];
})();
для информации: код работает отлично, за исключением того, что обещание я хочу, чтобы преобразовать в Синхронный если вы можете помочь мне, пожалуйста.
Спасибо заранее
Можете ли вы попробовать '$ scope.users.concat.apply ($ scope.users, response);' вместо '$ scope.users = response;'? – dfsq
еще одним хорошим решением является загрузка данных в службу и внедрение этой службы в ваш контроллер. Http://stackoverflow.com/questions/15161537/angularjs-load-data-from-service –
Я отмечу, что я сменил машину (домашняя машина для работы машины (в работе), и она работает, не меняя ничего), но большое вам спасибо за вашу поддержку. я замечаю, что для следующей загрузки данных – AmenzO