안녕하세요. 웹 페이지 응용 프로그램을 새로 만들었습니다. 저는 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);
}
};
안녕을로드하지했을 경우 알려 주시기 바랍니다 실제로 작동하는 datacontext.primeData 약속없이 router.activate를 반환하는 경우 실제로 이해할 함수를 활성화하십시오. – forcewill
쿼리에 실패한 상황을 처리하여 실패했는지 확인해 보셨습니까? 거기에 .fail() 체인을 연결하고 오류가 있으면 경고합니다. –