2013-08-28 2 views
0

안녕하세요. 웹 페이지 응용 프로그램을 새로 만들었습니다. 저는 John Papa의 HotTowel 비디오로 시작하여 처음에는 HotTowel VSIX 템플릿을 사용했습니다.Breeze 및 QDurandal 문제

Durandal 2.0으로 업데이트하기로 결정했을 때 응용 프로그램이 쉘 모듈의 activate 메소드에서 진행되지 않는다는 문제점에 직면했습니다. 내가 문제가 durandal가 JQuery와의 약속을 사용하여 인해한다는 것을 알게 일부 Google 검색의, 난 http://durandaljs.com/documentation/Q/ 하지만이 작동하지 않습니다에 발표 된 수정을 시도 한 후

누군가이 문제에 대한 몇 가지 빛으로 저를 제공 할 수 있습니다.

추신 : 일반적으로 JS와 웹에 새로운 메신저 그래서 질문은 내가 가지고 내 shell.js에 충분한

명확하지 않은 경우 미안 :

function activate() { 
    app.title = config.appTitle; 


    return datacontext.primeData() 
     .then(boot) 
     .fail(failedInitialization); 
} 




function boot() {   
    logger.log('CodeCamper Backend Loaded!', null, system.getModuleId(shell), true); 
    router.map(config.routes).buildNavigationModel(); 
    return router.activate(); 
} 

function addSession(item) { 
    router.navigateTo(item.hash); 
} 


function failedInitialization(error) { 
    var msg = 'App initialization failed: ' + error.message; 
    logger.logError(msg, error, system.getModuleId(shell), true); 
} 

내 데이터 컨텍스트에를 :

var primeData = function() { 

     var promise = Q.all([ 
      getLookups(), 
      getSpeakerPartials(null, true)]) 
      .then(applyValidators) 

     return promise 
      .then(success); 



     function success() { 
      datacontext.lookups = { 
       rooms: getLocal('Rooms', 'name', true), 
       tracks: getLocal('Tracks', 'name', true), 
       timeslots: getLocal('TimeSlots', 'start', true), 
       speakers: getLocal('Persons', orderBy.speaker, true) 
      }; 
      log('Primed data', datacontext.lookups); 
     } 

     function applyValidators() { 
      model.applySessionValidators(manager.metadataStore); 
     } 

    }; 

답변

0

첫 번째 경로를 활성화하려면 router.activate() 함수에 경로를 전달해야합니다. 그 두 가지를 가정한다 - 약속은 당신이 참조 된 페이지에 표시 Q지도에 이연 jQuery를 추가 한

  • 반환되고 있기 때문에

    1. 귀하의 codecamper 백엔드 메시지가 발사된다.

    위의 두 가지 사실이 아닌 경우 우리는 더 이상에 경로를 통과하지 내가 당신이 실제로 두 번째와 응용 프로그램이 일시 중지되거나 durandal 2.0 라우터

  • +0

    안녕을로드하지했을 경우 알려 주시기 바랍니다 실제로 작동하는 datacontext.primeData 약속없이 router.activate를 반환하는 경우 실제로 이해할 함수를 활성화하십시오. – forcewill

    +0

    쿼리에 실패한 상황을 처리하여 실패했는지 확인해 보셨습니까? 거기에 .fail() 체인을 연결하고 오류가 있으면 경고합니다. –