2015-10-16 37 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”路由上得到执行。 –

相关问题