v2.0에서 위젯을 올바르게 처분하는 방법은 무엇입니까? 내가 읽은 것으로부터 이것은 DOM에서 제거 될 때 자동으로 수행되지만, jQuery.remove()가 canDeactivate() 또는 deactivate()가 호출되지 않는다는 것을 사용하여 DOM에서 내 위젯을 제거한다고 가정합니다. 비활성화 콜백 호출을 위해 DOM에서 제거해야하는 특정 방법이 있습니까?Durandal 2.0 위젯 처리
1
A
답변
1
예, 실제로 있습니다. 문서화가 잘되어 있지 않아서 놓치기 쉽습니다.
녹아웃에는 유틸리티 기능 ko.utils.domNodeDisposal.addDisposeCallback(element, callback)
이 있습니다. 이 함수는 요소가 삭제 될 때 콜백이 호출되도록합니다. 그러나 '처분'은이 경우 매우 구체적입니다. jQuery.remove()
은 트리거하지 않습니다. 노드를 처분하는 방법은 ko.removeNode(element)
을 사용하는 것인데, 이는 DOM 요소 (및 해당 하위 요소)를 제거 할뿐만 아니라 바운드 이벤트 핸들러 등에서 몇 가지 추가 정리를 수행합니다. (미안하지만, 세부 사항이 약간 불투명합니다. 자세한 내용이 필요하면 Knockout의 구현을 항상 확인할 수 있습니다.)
내부적으로보기를 처리 할 때 Durandal은 ko.removeNode
을 사용합니다. 따라서보기가 제거되면 모든 요소가 제거되고 앞에서 설명한 유틸리티 함수를 사용하여 설정된 disposeCallbacks가 호출됩니다. Durandal이이 프로세스에 콜백을 트리거하여 비활성화하는 것이 확실합니다.
TL : DR : jQuery.remove(element)
대신 ko.removeNode(element)
을 시도하십시오. 그러면 비활성화 콜백이 트리거됩니다.
관련 문제
- 1. 내가 durandal 토론 그룹에이를 게시 Durandal 위젯
- 2. Durandal 2.0 라우터 액세스
- 3. Durandal 2.0 "경로가"
- 4. Durandal 위젯 반환 값은 어떻게됩니까?
- 5. Durandal 앱의보기로드 시간 초과 처리
- 6. Durandal 모달 대화 상자를 사용하여 위젯 표시
- 7. Durandal 2.0 Router - 이드를 지정하는 방법?
- 8. 물수건 SPA Durandal 개편, 처리 및 Dynatree
- 9. Durandal 작성시 올바르지 않은 바인딩 처리
- 10. , Durandal
- 11. Openxml 2.0 xml 처리
- 12. Durandal 위젯 32 파괴 방법 또는 이에 상응하는 뭔가
- 13. Durandal, 뷰 및 부트 스트랩 위젯 다시 바인딩
- 14. PowerShell 2.0 및 예외 처리 방법은 무엇입니까?
- 15. Phonegap 2.9.0, Windows Phone 8, Durandal 2.0, XAP 런타임 문제
- 16. durandal 2.0 navigateBack()은 전체 페이지 새로 고침을 발생시킵니다.
- 17. durandal 위젯을 동적으로 추가하십시오.
- 18. Durandal Login Page display
- 19. 자식 위젯 처리 QKeyEvent하는 방법?
- 20. ltk 위젯 옵션의 처리 값
- 21. 초기화 선택 2 YII 2.0 : yii2 - 위젯
- 22. JSF 2.0 Ajax 예외 처리
- 23. Durandal 중첩 뷰 구성
- 24. durandal 회
- 25. Durandal 시작하기
- 26. Durandal Routing
- 27. Durandal 모달
- 28. Durandal dialog
- 29. Durandal 구성
- 30. (Durandal 라우터)
모든 사항에 대한 knockout의 설명서를 찾았습니다.하지만 바인딩에 대한 자세한 내용은 밝혀야합니다. ko.removeNode를 검색해도 공식 문서에 검색 결과가 제공되지 않습니다. 어쨌든 대답에 감사드립니다. 롭 아이젠 버그 (Rob Eisenberg)는 Durandals Google Group에 대한 내 게시물에 동일한 답글을 썼습니다. ko.removeNode (element)를 사용하면 실제로 원하는 동작을 제공합니다. –