2017-09-20 15 views
1

ajax 호출에서 제공된 값으로 사용자 정의 녹아웃 구성 요소의 매개 변수를 viewmodel에 바인딩하려고합니다. 그러나 Ajax 호출이 완료되기 전에 바인딩이 수행되고있는 것처럼 보입니다. AJAX 호출이 바인딩이 이루어지기 전에 완료되는지 확인해야합니까? 감사.Durandal 페이지의 강제 녹아웃 구성 요소가 바인딩 전에 Ajax 호출을 기다리는 중

사용자 정의 구성 요소보기는 여기

define(function (require) { 
    var Item = require('models/item'); 

    var item; 

    return { 
     activate: function() { 
      var ajaxCall = $.ajax({ 
       method: 'get', 
       url: 'myapicall', 
       success: function (data) { 
        item = new Item(data); 
       } 
      }); 
      return ajaxCall; 
     }, 


     item: item, 
    }; 
}); 
+0

'var ajaxCall = return $ .ajax .....'을 시도하면,'attached' 핸들러를 호출하여 동 기적으로 호출하지 않아야합니다. – gkb

답변

0

당신은 그것을 아무튼 있도록 바인딩 if에 구성 요소를 배치하려고 할 수있는 뷰 모델의 관련 부분은이

<section> 
    <mycustomcomponent params="item: item"> </mycustomcomponent> 
</section> 

같은 것입니다 item에 유효한 항목이있을 때까지 렌더링되지 않습니다.