2013-10-31 54 views
1

我想設置一個加載屏幕,雖然this.model.fetch({})發生,不知道如何我可以調用它...這是我目前的事件觸發嘗試,但它不觸發。 ..如何在調用模型獲取時在骨幹中創建加載屏幕?

search: function (e) { 
     console.log('searching...'); 
     var eventL = this.vent; 
     e.preventDefault(); 
     var that; 

     that = this.model; 
     //post instance to the server with the following input fields 
     this.model.fetch(
     {data: { 
      channel: $('#channel').val(), 
      week: $('#week').val(), 
      year: $('#year').val(), 
      filter: $('#filter').val() 
     }, 
     attack: this.options.vent.trigger('ok', data), 
     success: $.proxy(this.storeMusic, this) 
    }); 
    }, 

我希望將數據發送回過如果可能的話,所以我可以包括值到搜索屏幕。

回答

2

如果您嘗試將狀態保存回服務器,您需要save方法而不是fetchsave方法(以及fetch)接受成功回調(請參閱documentation),您可以使用它來觸發隱藏加載屏幕的事件。

事情是這樣的:

var self = this; 

// About to save, fire event to indicate loading screen should be displayed 
this.options.vent.trigger('saveStarted'); 

this.model.save({ 
    channel: $('#channel').val(), 
    week: $('#week').val(), 
    year: $('#year').val(), 
    filter: $('#filter').val() 
}, 
{ 
    success: function(model /*, response, options */) { 
    // Save completed, fire event to indicate loading screen should be hidden 
    // The model is available as the first parameter of the callback 
    self.options.vent.trigger('saveCompleted', model); 
    } 
}); 
+0

我得到了它基本上我打電話,與裝載替換屏幕,當其他頁面是準備裝載它改變頁面功能 – Lion789