J'utilise Bootstrap conjointement avec AngularJS pour ouvrir les boîtes de dialogue modales. Pour activer un modal sans écrire de code JavaScript, j'utilise les attributs de données comme décrit dans le documentation. C'est un moyen très pratique, car je n'ai pas besoin d'afficher/masquer la boîte de dialogue manuellement.Attribut de données à appeler lorsque le dialogue modal est fermé
<button type="button" data-toggle="modal" data-target="#myModal">Launch modal</button>
Maintenant, je voudrais appeler une méthode lorsque la boîte de dialogue modale est fermée. Avec un bouton de fermeture explicite, ce n'est pas un problème. Cependant, lorsque l'utilisateur clique en dehors de la boîte de dialogue ou appuie sur la touche Esc, je ne peux déclencher aucune fonction explicitement.
Je sais que je peux utiliser jQuery ou $uibModal
d'Angular pour écouter un événement de rejet, mais cela complique l'ensemble du projet. Je préférerais tout avoir au même endroit. Je ne veux pas mélanger les choses, donc utiliser jQuery dans mon projet AngularJS n'est pas une option. La solution avec laquelle je suis coincé est d'utiliser $uibModal
à open()
la boîte de dialogue manuellement et d'attraper le résultat pour gérer le rejet invoqué par l'utilisateur.
Ma question:
Comment puis-je appeler une fonction quand une boîte de dialogue modale est fermée sans introduire trop de désordre?
Ce que j'ai à l'esprit ressemble à ceci (imaginaire data-dismiss-callback
):
<button type="button" data-toggle="modal"
data-target="#myModal"
data-dismiss-callback="handleCloseEvent()">Launch modal</button>
Semble enveloppez dialogue modale bootstrap dans un composant personnalisé (directive) puis manipulons l'événement de rejet est une option. –