uibmodal modal example bootstrap angularjs angular-ui angular-ui-bootstrap

angularjs - example - ¿Cuál es la diferencia entre "descartar" un modal y "cerrar" un modal en UI-Bootstrap angular?



modal bootstrap angularjs (2)

¿Cuál es la diferencia entre "descartar" un modal y "cerrar" 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


Descubrí que es preferible descartar un modal si es de un usuario que cierra el modal (por ejemplo, volver al estado detrás del modal e invocar state.go (''^'')), y se utiliza el cierre del modal. al cambiar de estado a través de $ state.go o ui-sref.

De esta forma, puede usar la promesa de result para hacer cosas diferentes, dependiendo de lo que ocurra.

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

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


La respuesta está en la documentación, justo después de las dos líneas que citó:

El método abierto devuelve una instancia modal, un objeto con las siguientes propiedades:

  • close (resultado) - un método que se puede usar para cerrar un modal, pasando un resultado
  • dismiss (reason) - un método que puede usarse para descartar un modal, pasando un motivo
  • resultado: una promesa que se resuelve cuando un modal se cierra y se rechaza cuando se desestima un modal

Lo importante aquí es lo que le sucede a la promesa. De cerca, la promesa se resuelve, esencialmente, el fuego de devolución de "éxito". Al despedir, se rechaza la promesa y, por lo tanto, ejecuta la devolución de llamada "error".