в моем SPA у меня есть активировать функцию, которая имеет обещание getNodes()
function activate() {
var promises = [getNodes()];
common.activateController(promises, controllerId)
.then(function() { log('Activated Nodes List View'); });
}
getNodes() для базы данных в списке «Node» выборку и я делаю сгруппированные нг-таблицу из него.
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
});
});
}
Что происходит, когда id добавляет узел, он не обновляет мою таблицу. Если я обновляю страницу, я могу увидеть недавно добавленный узел. Но я хочу, чтобы мой стол обновился вскоре после этого добавления.
После добавления узла, который я вызываю, активируется снова, но это не сработало.
function addNode(node) {
return datacontext.addNode(node).then(function (response) {
activate();
});
после некоторых исследований я добавил строку ниже.
$scope.tableParams.total(orderedData.length);
это также не сработало для меня. Пожалуйста помоги.