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".