2012-09-12 6 views
0

backbone-boilerplate/backbone-layoutmanager를 사용하고 있는데 place.fetch()를 호출 한 후보기를 다시 렌더링하는 데 문제가 있습니다. 그것은 처음에는 잘 작동하는 것 같지만 두 번째 시간을 가져 오면 "렌더링"메서드가 더 이상 호출되지 않습니다.백본 상용구 렌더링보기 문제

어떤 힌트가 될 것이다 도움이

감사

피트

라우터

test: function() { 
    var place = new Place.Model({ 
     place_id: place_id, 
    }); 
    place.fetch().complete(function(){ 

    app.useLayout("main").setViews({ 
     ".place-detail": new Place.Views.Show({ 
      model: place 
     }) 
     }).render(); 
    }); 
} 

VIEW는

initialize: function() { 
    _.bindAll(this, "render"); 
this.model.on("change", this.render, this); 
} 

render: function(manage) { 
    return manage(this).render(); 
} 

답변

0

fetch는 비동기입니다 함수는 완료시 호출 될 success 또는 error 핸들러를 가진 객체를 받아들입니다. AFAIK fetchcomplete 처리기로 연결하는 jQuery 메서드를 지원하지 않으므로 완성시 호출하려면 적절한 success 메서드가 설정된 객체를 전달해야합니다.

+0

감사합니다. 하지만 성공과 오류를 사용하더라도 뷰가 새 모델 데이터로 다시 렌더링되지는 않습니다. 100 % 성공한다면 모델 데이터를 되 찾을 수 있습니다. 하지만 어떻게 든 여기에서는 ("주") app.useLayout라고 점점되지 렌더링 setViews. ({ ".place-상세"새로운 Place.Views.Show ({ 모델 : 장소 }) }). 세우다(); – user896715