【发布时间】:2015-10-16 12:04:10
【问题描述】:
我在后端使用 ember 1.13.8 和 rails 4。我的应用程序中有一个“项目”模型。在插入项目记录后,如何强制 ember 重新加载包含所有项目集合的项目路由。这是我的项目路由文件并创建:
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从服务器重新加载数据。
【问题讨论】:
-
您的新“item”记录未添加到“items”列表中?
-
该项目被添加到“项目”列表中,但在我手动刷新“项目”路由之前不会显示在“项目”列表中。
-
store.findAll('item', { reload: true }); //强制获取新数据
-
但是模型钩子没有在transitionTo路由上被调用。当我将它用作动作时它可以工作,但我想将它用作在 transitionTo 上自动调用的钩子。
-
如果您希望卸载商品或致电推荐人,您新创建的商品应该已经在商店中了..
标签: ember.js ember-data