我对angular很新,并尝试删除一些代码重复。我有两个控制器连接到2个不同的视图。两个视图都调用服务器来获取统计数据,然后将它们显示在表中。我正在使用ngtable。此时,两个控制器都具有完全相同的ngtable配置块。表之间的唯一区别是,其中一个表显示的列数多于另一个。无论如何,我在两个控制器中都有这个代码:
$scope.tableParams = new ngTableParams({
page: 1, // show first page
count: 10, // count per page
sorting: {
groupName: 'asc' // initial sorting
}
}, {
total: $scope.data.length, // length of data
getData: function ($defer, params) {
if (!$scope.validInputs())
return;
var orderedData = $scope.data;
orderedData = $scope.filterText ?
orderedData.filter(filter) :
orderedData;
orderedData = params.sorting() ?
$filter('orderBy')(orderedData, params.orderBy()) :
orderedData;
params.total(orderedData.length); // set total for recalc pagination
$scope.page = orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count());
$defer.resolve($scope.page);
}
});
删除此重复的最佳方法是什么?
答案 0 :(得分:0)
您可以使用set ngTableDefaults。
app.value('ngTableDefaults', {
params: {
page: 10, // show first page
count: 100, // count per page
sorting: {
groupName: 'asc' // initial sorting
}
},
settings: {}
});