Ember JS:插入记录后重新加载整个集合
我在后端使用了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来从服务器重新加载数据。
请尝试以下之一:在控制器实例
- 调用复位()或
- 调用刷新()在路由器实例。
- 调用model.reload()
这应该重新加载模型为你:)
调用刷新为我工作使用它作为一个动作,但我想用它作为一个钩子,获取时执行transitionTo路线。 –
它不会在钩子中工作?只需从处理函数中发起一个动作,然后......不会那么做吗? –
nope,它不会在一个钩子内工作,因为钩子不会在transitionTo到“Items”路由上得到执行。 –
您的新“项目”记录不被添加到“项目”列表? –
该项目被添加到“项目”列表中,但没有显示在“项目”列表中,直到我手动刷新“项目”路线。 –
store.findAll('item',{reload:true}); //强制获取新的数据 –