Ich habe ein Angular-UI modal mit einer Form darin. Wenn der Benutzer das Kündigungs-Ereignis auslöst, möchte ich eine Bestätigung basierend auf $ dirty implementieren. Ich habe zahlreiche Quellen durchsucht, um Begriffe auf Promise zu finden und kann z. eine Warnung während der Abschlussveranstaltung. Allerdings kann ich nirgends finden, wie man das Modal tatsächlich zum Schließen bringt.Bestätigen Sie das modale Schließen des Winkels auf der schmutzigen Form
EDIT:
Mit dem aktuellen Code der Bestätigungsnachfrage oft (überraschenderweise nicht immer) erscheint nach dem modalen bereits entlassen wurde.
var editResourceModalController = function($scope, $uibModalInstance) {
$uibModalInstance.result.catch(function() {
if ($scope.editForm.$dirty) {
window.confirm("close modal?");
}
$uibModalInstance.dismiss('cancel');
});
}
var uibModalInstance;
$scope.openEditModal = function() {
uibModalInstance = $uibModal.open({
animation: true,
templateUrl: "edit.html",
controller: editResourceModalController
});
}
Vielen Dank für Ihre Antwort. Ich will es jedoch nicht nur mit einem Klick einrasten lassen, sondern auch den Back-Drop-Klick und die ESC-Taste abbrechen. Außerdem weiß ich immer noch nicht, wie man das Schließen des Modals stoppt, wenn der Benutzer Abbrechen auswählt. Kann ich 'preventDefault()' verwenden? –
Warum stellen Sie keine Listener für diese Ereignisse ein und behandeln sie so, wie Sie möchten? – atefth
könnten Sie etwas genauer sein? –