如何重装ngtable使用$ scope.tableParams.reload();? [英] How to reload ngtable using $scope.tableParams.reload();?
问题描述
我正在使用的角度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())); }
编辑2
你的工作普拉克
与上面的编辑
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">
Edit
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()));
}
Edit 2
your working plunk with editing above
这篇关于如何重装ngtable使用$ scope.tableParams.reload();?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!