0
在我的SPA我有有一個承諾getNodes()
function activate() {
var promises = [getNodes()];
common.activateController(promises, controllerId)
.then(function() { log('Activated Nodes List View'); });
}
getNodes的激活功能()調用數據庫,以獲取「節點」的名單,我想提出一個分組NG表出來。
function getNodes() {
return datacontext.getNodes().then(function (response) {
$scope.data = response.data;
$scope.$watch("query", function() {
$scope.tableParams.reload();
});
$scope.tableParams = new ngTableParams({
page: 1, // show first page
count: 10, // count per page
sorting: {
name: 'asc'
}
}, {
groupBy: function (item) {
return item.NodeGroup.Name;
},
total: $scope.data,
getData: function ($defer, params) {
var filteredData = new Array();
var func = (function() {
$scope.data.forEach(function (node) {
var is = !!((node.Name.toLowerCase().indexOf($scope.query || '') !== -1) || (node.IP.toLowerCase().indexOf($scope.query || '') !== -1) || (node.NodeGroup.Name.toLowerCase().indexOf($scope.query || '') !== -1));
if (is) {
filteredData.push(node);
}
});
})();
var orderedData = params.sorting() ?
$filter('orderBy')(filteredData, params.orderBy()) :
filteredData;
$scope.tableParams.total(orderedData.length);//this is also nto working for me.
$defer.resolve(orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count()));
},
$scope: $scope
});
});
}
whats發生的是,當ID添加一個節點時不更新我的表。如果我刷新頁面,我可以看到新添加的節點。但是,我希望我的表在刷新後不久就會刷新。
添加節點後,我打電話再次激活,但它沒有奏效。
function addNode(node) {
return datacontext.addNode(node).then(function (response) {
activate();
});
經過一番研究,我在下面加了一行。
$scope.tableParams.total(orderedData.length);
這也沒有爲我工作。請幫忙。