Подтвердить что ты не робот

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

Ответ 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 */ })