2012-09-12 154 views
0

我正在使用backbone-boilerplate/backbone-layoutmanager,並且在調用place.fetch()之後重新呈現視圖時出現問題。它似乎第一次正常工作,但是當我第二次讀取時,「渲染」方法不再被調用。骨幹樣板渲染視圖問題

任何提示將是有益的

感謝

皮特

ROUTER

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是異步函數,該函數接受具有將在完成時調用的successerror處理程序的對象。 AFAIK fetch不支持與complete處理程序鏈接的jQuery方法,因此如果您希望在完成時調用該方法,則需要將其設置爲正確的success方法。

+0

謝謝。但即使我使用成功和錯誤,視圖也不會使用新模型數據重新呈現。即時通訊100%確信,在成功獲得模型數據後。但不知何故,在這裏渲染是沒有得到所謂的 app.useLayout( 「主」)setViews({ 「.place細節」:新Place.Views.Show({ 型號:地方 }) })。渲染(); – user896715