2014-04-29 3 views
0

보기로 전환 한 후 작업을 수행해야합니다.Durandal이보기를 바꾼 시점을 어떻게 알 수 있습니까?

처음으로 '활성화'보기로 전환하면 'composComplete'가 호출됩니다.

그 후 '활성화'만 호출됩니다.

보기가 표시되기 전에 '활성화'가 호출되어 이것이 내가 사용하는 JavaScript 컨트롤 (Bing Maps V7)에 문제를 일으키는 것으로 보입니다.

참고로 Hooking Lifecycle Callbacks을 사용하고 있지만 적절한 콜백이없는 것으로 보입니다.

DOM이보기로 변경되면 알려주는 또 다른 이벤트 나 접근 방법이 있습니까?

답변

1

마치 모듈이 인스턴스 대신 싱글 톤 인 것처럼 들립니다. 그게 사실이야? 인스턴스 기반 모듈을 만들면 활성화 될 때마다 모듈이 새로 만들어집니다. 그러면 compositionComplete이 다시 실행됩니다.

activate 처리기는 궁극적으로보기에 표시 될 데이터를 준비하는 데 적합합니다. compositionComplete은 완벽하게 구성된 DOM에 의존하는 문제를 처리하는 데 가장 적합합니다.

우리는 Bing Maps AJAX v7도 사용하며 항상 인스턴스 기반 모듈에 배치했습니다.

익숙하지 않은 경우 인스턴스 기반 모듈을 만들려면 viewmodel이 객체 리터럴 대신생성자 함수를 반환하는지 확인하십시오.

0

첨부 된 상태에서 Bing 초기화를 시도 했습니까? 또는 사용자 지정 바인딩을 만드는 중입니까? 내가 사용하는 모든 제 3 자 라이브러리는 항상 첨부로 초기화되며, 무언가를 여러 번 사용하려는 경우 병합을위한 맞춤 바인딩을 만들거나 위젯을 만듭니다.

관련 문제