Quelle est la différence entre «ignorer» un modal et «fermer» un modal dans UI-Bootstrap angular?

Quelle est la différence entre “rejeter” un modal et “fermer” un modal?

close(result) - a method that can be used to close a modal, passing a result dismiss(reason) - a method that can be used to dismiss a modal, passing a reason 

La réponse se trouve dans la documentation, juste après les deux lignes que vous avez citées:

La méthode open renvoie une instance modale, un object avec les propriétés suivantes:

  • close (result) – une méthode qui peut être utilisée pour fermer un modal, en passant un résultat
  • rejeter (raison) – une méthode qui peut être utilisée pour rejeter un modal, en passant une raison
  • resultat – une promesse qui est résolue lorsqu’un modal est fermé et rejeté lorsqu’un modal est rejeté

L’important ici est ce qui arrive à la promesse. En fin de compte, la promesse est résolue – essentiellement, le rappel “succès” se déclenche. En cas de rejet, la promesse est rejetée, exécutant donc le rappel “échec” à la place.

J’ai trouvé que le rejet d’un modal est préférable s’il s’agit d’un utilisateur qui ferme le modal (par exemple, revenir à l’état derrière le modal et invoquer state.go (‘^’)), et la fermeture du modal est utilisée lors du changement d’état via $ state.go ou ui-sref.

De cette façon, vous pouvez utiliser la promesse de result pour faire différentes choses, en fonction de ce qui se passe.

result.then(function() { /* state change via ui-sref */ })

result.catch(function() { /* user closed modal */ })