Von einem anderen Controller aus öffnet sich ein Modal-Popup. Nach dem Schließen des modalen Popups mache ich etwas und ich möchte die Daten an einen anderen Controller übertragen, der ein UI-Gitter auffüllt und an $scope.searchResultsGridOptions
gebunden ist.UI Grid-Aktualisierung in Angular
Also in meiner ABCCtrl.js
Datei:
Beim Schließen eines modalen, das tue ich:
$("#iConfirmationModal").on('hidden.bs.modal', function() {
$state.go('transaction.search.results', {});
//I close all the modals
$uibModalStack.dismissAll();
//I get the stored search criteria
var searchResultsParam = TransactionDataServices.getSavedSearchParams();
//Using them I hit the web service again and get the data to reload the UI Grid
TransactionServices.getTransactionAdvSearchResults(searchResultsParam).then(function (result) {
//I got the result
console.log(result);
/Now I want to reload the grid with this data , but the grid scope object which binds to this , is in separate controller
searchResultsGridOptions.data = result;
});
});
In DEFCtrl.js
Ich habe
getSearchResultsGridLayout: function (gridOptions, uiGridConstants, datas) {
gridOptions.multiSelect = false;
// gridOptions.data.length = 0;
// gridOptions.data = '';
gridOptions.data = datas;
console.log("Grid Data ");
console.log(datas);
console.log(gridOptions.data);
angular.element(document.getElementsByClassName('grid')[0]).css('height', '0px');
// console.log(datas.length);
return gridOptions;
}
Aber wie würde Ich ändere nur die Daten nur wenn Modal schließt?
Rest der Zeit sollte es das Gitter nicht erneuern?
Oder
Gibt es eine Möglichkeit, wenn beim Schließen des modal, anstatt einfach in den Zustand zurückgehen $state.for()
verwenden und die bisherigen unrefreshed Daten sehen, kann ich die aktualisierten Daten sehen?