Javascript 更新余烬数据时刷新视图
我正在用余烬和余烬数据做一个非常基本的应用程序。 由于某种原因,我总是有同样的问题。我的应用程序正确地呈现和显示数据,但如果我删除并搜索,它不会更新视图 我已经问过这个问题了——这个链接有更多的代码示例,但运气不好。在这里:Javascript 更新余烬数据时刷新视图,javascript,model-view-controller,ember.js,ember-data,Javascript,Model View Controller,Ember.js,Ember Data,我正在用余烬和余烬数据做一个非常基本的应用程序。 由于某种原因,我总是有同样的问题。我的应用程序正确地呈现和显示数据,但如果我删除并搜索,它不会更新视图 我已经问过这个问题了——这个链接有更多的代码示例,但运气不好。在这里: 根据你的代码,我试图为你的问题找到一个合理的解决方案 在进入解决方案之前,我认为控制器应该是IndexController而不是sampleDeleteModalController,因为ember希望控制器与路由具有相同的名称 App.SampleDeleteModalC
根据你的代码,我试图为你的问题找到一个合理的解决方案 在进入解决方案之前,我认为控制器应该是
IndexController
而不是sampleDeleteModalController
,因为ember希望控制器与路由具有相同的名称
App.SampleDeleteModalController = Ember.ObjectController.extend({
actions: {
remove: function() {
// Two ways
this.get('model').destroyRecord();
this.transitionToRoute('index');
}
}
});
来自同一路由的TransitionRoute不会刷新视图。仅当您要重定向到另一个路由时,此操作才有效
刷新视图的解决方案
选项1:删除记录后,您可以在索引路由内捕获相同的操作,您可以执行刷新模型的this.refesh()
选项2:必须在控制器内显式更新绑定模型
actions: {
remove: function() {
// Two ways
var localCopy = this.get('model');
localCopy.destroyRecord();
this.set('model',localCopy);
}
}
选项3:设置模型后,请先创建模型,然后执行此操作。rerender()。这几乎相当于window.reload()
actions: {
remove: function() {
// Two ways
var localCopy = this.get('model');
localCopy.destroyRecord();
this.set('model',localCopy);
}
}