Angular UI-Bootstrap에서 모달을 "닫기"와 모달을 "닫기"의 차이점은 무엇입니까?


83

모달 "닫기"와 모달 "닫기"의 차이점은 무엇입니까?

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

답변:


91

답변은 문서에서 인용 한 두 줄 바로 뒤에 있습니다.

open 메서드는 다음 속성을 가진 객체 인 모달 인스턴스를 반환합니다.

  • close (result)-모달을 닫고 결과를 전달하는 데 사용할 수있는 메서드
  • dismiss (reason)-모달을 해제하고 이유를 전달하는 데 사용할 수있는 메서드
  • 결과-모달이 닫힐 때 해결되고 모달이 닫힐 때 거부되는 약속

여기서 중요한 것은 약속에 어떤 일이 일어나는지입니다. 종료시 약속이 해결됩니다. 기본적으로 "성공"콜백이 실행됩니다. 해제시 약속이 거부되므로 대신 "실패"콜백을 실행합니다.


33
여기서 중요한 것은 약속이 어떻게되는지입니다. 종료시 약속이 해결됩니다. 기본적으로 "성공"콜백이 실행됩니다. 해제시 약속이 거부되므로 대신 "실패"콜백을 실행합니다.
Brian

여기에 추가 질문이 있습니다. UI 관점에서 대화 상자를 닫는 것은 무엇을 의미합니까? 사용자가 "확인"또는 "취소"(창에 "x"표시)를 사용하여 대화 상자를 닫을 수 있음을 이해합니다. UI에서 어떻게 해제 할 수 있습니까? 미리 감사드립니다
lm.

1
그것은 당신이 원하는 것을 의미합니다. 대화 상자의 템플릿은 귀하에게 달려 있습니다. 템플릿에 4 개의 버튼이있을 수 있습니다. 두 개는 각각 고유 한 이유에 따라 닫고 두 개는 각각 자체 결과로 닫습니다. angular-ui.github.io/bootstrap 의 데모를 살펴보십시오 . OK 버튼은 ok ()를 호출하여 결과적으로 선택한 항목이있는 대화 상자를 닫고 취소 버튼은 cancel ()을 호출하여 대화 상자를 닫습니다. 이유로 '취소'.
JB Nizet 2014

1
Thx,하지만 그것에 대해 또 다른 질문이 있습니다. 해고의 진정한 의미는 무엇입니까? 약속없는 가까운 것 같나요? 그 이유는 무엇입니까? 'foo'또는 'bar'로 해제하는 것의 차이점은 무엇입니까? 나는 누군가가 ... 설명 할 수 있다면 ...이 매개 변수를 사용하는 방법을하지 않습니다
M'sieur Toph '

1
@JBNizet : 당신 말이 맞아요,하지만 알아 냈어요. 가끔씩 저를 물고 버튼의 유형을으로 설정하는 것을 잊는 어리석은 실수입니다 button. : P
im1dermike 2014

2

사용자가 모달을 닫고 (예 : 모달 뒤의 상태로 돌아가서 state.go ( '^')를 호출하는 경우) 모달을 닫는 것이 사용되는 경우 모달 해제가 사용하는 것이 가장 좋습니다. $ state.go 또는 ui-sref를 통해 상태를 변경할 때.

그렇게 result하면 어떤 일이 발생 하느냐에 따라 약속을 사용하여 다른 일을 할 수 있습니다 .

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

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


1
모달이 해제되면 promise가 해결되지 않아 오류를 포착하지 않으면 콘솔 오류가 발생하기 때문에 이것은 중요합니다. dismiss는 실제 문제가 아닌 취소에 자주 사용되기 때문에 나는 큰 팬이 아닙니다. catch를 구현하면 오류가 발생하지 않습니다.
Jared Sol

이 답변은 사용자가 타사 ui-routerlib를 사용하고 있다고 가정하며 항상 그런 것은 아닙니다 (질문에 포함되지 않음).
runderworld
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.