我正在使用的角度JS NG-表。我的问题是删除我的表中的一个记录数据不重新加载。这是我的code
myapp.controller('aamListAssignment',['$范围,$ HTTP,ngTableParams',函数($范围,$ HTTP,ngTableParams){ $ scope.data = []; $ scope.listPromise = NULL; $范围。$表(数据功能(){ $ scope.tableParams.reload(); }); $ scope.list =功能(){ $ scope.listPromise = $ http.get('./ CCS /转让/所有')。成功(功能(数据){ $ scope.data =数据; $ scope.tableParams =新ngTableParams({ 页面:1,//显示第一页 数:2 //每页计 },{ 罪状:[], 总计:$ scope.data.length,//数据的长度 的getData:函数($延迟,则params){ $ defer.resolve($ scope.data.slice((params.page() - 1)* params.count(),params.page()* params.count())); } }); }); }; $ scope.removeAssignment =功能(ID){ $ scope.value = TRUE; $ scope.Url =./ccs/assignment/removeAssignment/+ ID; $ http.get($ scope.Url).success(功能(数据){ 的console.log('后删除:'+ $ scope.id); // $ location.path(AAM / listAssignment /'); $ scope.list(); }); }; $ scope.list(); }]);
执行时间两种类型的错误发生在一个控制台页面是
错误:$ scope.tableParams未定义..............
和
错误:H $范围为空..........
请帮我解决这个问题。
我是用另一种方式,这一次重装工作,但不分页working.the code是
myapp.controller('aamListAssignment',['$范围,$ HTTP,ngTableParams',函数($范围,$ HTTP,ngTableParams){ $ scope.tableParams = {}; $ scope.data = []; $ scope.listPromise = NULL; $ scope.list =功能(){ $ scope.listPromise = $ http.get('./ CCS /转让/所有')。成功(功能(数据){ $ scope.data =数据; $ scope.tableParams.reload(); }); }; $ scope.tableParams =新ngTableParams({ 页面:1,//显示第一页 数:6 //每页计 },{ 罪状:[], 总计:$ scope.data.length,//数据的长度 的getData:函数($延迟,则params){ $ defer.resolve($ scope.data.slice((params.page() - 1)* params.count(),params.page()* params.count())); } }); $ scope.removeAssignment =功能(ID){ $ scope.value = TRUE; $ scope.Url =./ccs/assignment/removeAssignment/+ ID; $ http.get($ scope.Url).success(功能(数据){ 的console.log('后删除:'+ $ scope.id); $ scope.list(); }); }; $ scope.list();}]);
解决方案
如果你只是请求数据,然后只分页上阵,还有的必须是没有问题的,如果你需要分页每个请求再看看< A HREF =http://plnkr.co/edit/zuzcma?p=info相对=nofollow>此处,也不要忘记遍历 $数据
&LT; TR NG重复=用户$ DATA&GT;
在你普拉克您应该添加总
通话,喜欢这里
总:data.length,//数据的长度 的getData:函数($延迟,则params){ //需要FO分页! params.total(data.length); $ defer.resolve(data.slice((params.page() - 1)* params.count(),params.page()* params.count())); }
你的工作普拉克与上面的编辑
I am using ng-table in angular js. My problem is delete one record in my table the data is not reloaded. this is my code
myapp.controller('aamListAssignment', ['$scope', '$http', 'ngTableParams', function ($scope, $http, ngTableParams) {
$scope.data = [];
$scope.listPromise = null;
$scope.$watch("data", function () {
$scope.tableParams.reload();
});
$scope.list = function () {
$scope.listPromise = $http.get('./ccs/assignment/all').success(function (data) {
$scope.data = data;
$scope.tableParams = new ngTableParams({
page: 1, // show first page
count: 2 // count per page
}, {
counts: [],
total: $scope.data.length, // length of data
getData: function ($defer, params) {
$defer.resolve($scope.data.slice((params.page() - 1) * params.count(), params.page() * params.count()));
}
});
});
};
$scope.removeAssignment = function (id) {
$scope.value = true;
$scope.Url = "./ccs/assignment/removeAssignment/" + id;
$http.get($scope.Url).success(function (data) {
console.log('after delete: ' + $scope.id);
// $location.path('aam/listAssignment/');
$scope.list();
});
};
$scope.list();
}]);
Execute time two types of errors occurred in a console page that is
"Error: $scope.tableParams is undefined..............
and
"Error: h.$scope is null..........
please help me to this problem.
I am using another way, this time reload is working,but pagination not working.the code is
myapp.controller('aamListAssignment', ['$scope', '$http', 'ngTableParams', function ($scope, $http, ngTableParams) {
$scope.tableParams = {};
$scope.data = [];
$scope.listPromise = null;
$scope.list = function () {
$scope.listPromise = $http.get('./ccs/assignment/all').success(function (data) {
$scope.data = data;
$scope.tableParams.reload();
});
};
$scope.tableParams = new ngTableParams({
page: 1, // show first page
count: 6 // count per page
}, {
counts: [],
total: $scope.data.length, // length of data
getData: function ($defer, params) {
$defer.resolve($scope.data.slice((params.page() - 1) * params.count(), params.page() * params.count()));
}
});
$scope.removeAssignment = function (id) {
$scope.value = true;
$scope.Url = "./ccs/assignment/removeAssignment/" + id;
$http.get($scope.Url).success(function (data) {
console.log('after delete: ' + $scope.id);
$scope.list();
});
};
$scope.list();
}]);
解决方案
if you just request data ,and then just paginate on array,there 's must be no problem,if you need to paginate every request then have a look here ,and don't forget
to iterate over $data
<tr ng-repeat="user in $data">
in your plunk you should add total
call,like here
total: data.length, // length of data
getData: function($defer, params) {
//need fo pagination!!
params.total(data.length);
$defer.resolve(data.slice((params.page() - 1) * params.count(), params.page() * params.count()));
}
your working plunk with editing above