В чем разница между "отклонить" модальное и "закрыть" модальное в 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

2 ответа

Ответ приведен в документации, сразу после двух указанных вами строк:

Метод open возвращает модальный экземпляр, объект со следующими свойствами:

  • close (result) - метод, который можно использовать для закрытия модального окна, передавая результат
  • dismiss(причина) - метод, который может использоваться, чтобы отклонить модальное, передавая причину
  • результат - обещание, которое разрешается, когда модальное окно закрывается, и отклоняется, когда модальное отклоняется.

Важным моментом здесь является то, что происходит с обещанием. При закрытии обещание выполнено - по сути, срабатывает обратный вызов "успех". При отклонении обещание отклоняется, поэтому вместо этого выполняется обратный вызов "сбой".

Я обнаружил, что отклонение модального режима лучше всего использовать, если оно происходит от пользователя, закрывающего модальный режим (например, возвращающегося в состояние за модальным и вызывающего state.go('^')), и используется закрытие модального режима. при изменении состояния через $state.go или ui-sref.

Таким образом, вы можете использовать result обещают делать разные вещи, в зависимости от того, что происходит.

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

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

Другие вопросы по тегам