2015-10-16 39 views
0

我在後端使用了ember 1.13.8和rails 4。我在我的應用中使用了「商品」模型。我怎麼能強迫燼重新加載包含插入項目record.Here以後的各項目集合是我的路線文件的項目,並創建項目路線:Ember JS:插入記錄後重新加載整個集合

app/routes/items/create.js 
import Ember from 'ember'; 

export default Ember.Route.extend({ 
    model: function(){ 
     return this.store.createRecord('item'); 
    }, 
    actions: { 
     create: function(){ 
     var self=this; 
     self.controller.get('model').save().then(
      function() { 
       self.transitionTo('items'); 
     }); 
     }  
    } 
}); 

app/routes/items.js 
import Ember from 'ember'; 

export default Ember.Route.extend({ 
    model: function(){ 
     return this.store.findAll('item'); 
    } 
}); 

插入一條記錄後,我如果使用transitionTo轉到不自動重新加載模型的項目路由,那麼我如何使用ember來從服務器重新加載數據。

+0

您的新「項目」記錄不被添加到「項目」列表? –

+0

該項目被添加到「項目」列表中,但沒有顯示在「項目」列表中,直到我手動刷新「項目」路線。 –

+0

store.findAll('item',{reload:true}); //強制獲取新的數據 –

回答

0

請嘗試以下之一:在控制器實例

  1. 調用復位()或
  2. 調用刷新()在路由器實例。
  3. 調用model.reload()

這應該重新加載模型爲你:)

+0

調用刷新爲我工作使用它作爲一個動作,但我想用它作爲一個鉤子,獲取時執行transitionTo路線。 –

+0

它不會在鉤子中工作?只需從處理函數中發起一個動作,然後......不會那麼做嗎? –

+0

nope,它不會在一個鉤子內工作,因爲鉤子不會在transitionTo到「Items」路由上得到執行。 –

相關問題