В чем разница между "увольнением" модального и "закрытого" модального в Angular UI-Bootstrap?
В чем разница между "увольнением" модального и "закрытого" модального?
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
Ответ 1
Ответ приведен в документации сразу после двух строк, которые вы указали:
Открытый метод возвращает модальный экземпляр, объект со следующими свойствами:
close (result) - метод, который можно использовать для закрытия модального файла, передавая результат
увольнение (причина) - метод, который может использоваться для отклонения модального кода, передачи причины
результат - обещание, которое разрешается, когда модальный объект закрыт и отклонен, когда модаль отклонен.
Важным здесь является то, что происходит с обещанием. По завершении обещание разрешается - по существу, срабатывает обратный вызов "успех". При увольнении обещание отклоняется, поэтому вместо этого выполняется обратный вызов "сбой".
Ответ 2
Я обнаружил, что отклонение модальности лучше всего использовать, если оно принадлежит пользователю, закрывающему модальный (например, возвращаясь к состоянию за модальным и вызывающим state.go('^')), и закрытие modal используется при изменении состояния через $state.go или ui-sref.
Таким образом вы можете использовать обещание result делать разные вещи, в зависимости от того, что происходит.
result.then(function() { /* state change via ui-sref */ })
result.catch(function() { /* user closed modal */ })