Javascript 如何使用新模型对象刷新当前视图
我正在构建一个简单的任务应用程序,可以在其中添加新状态。场景是,我已经通过调用can.Model findAll方法使用预定义的对象数组构建了状态仪表板。视图存储在“dashboard.ejs”中。在创建新状态时,我会将该数据持久化到对象数组中,并在保存回调中保存新的数组数据(包括出现的新数据)。现在我的问题是如何用新返回的数据刷新当前视图Javascript 如何使用新模型对象刷新当前视图,javascript,jquery,canjs,canjs-model,Javascript,Jquery,Canjs,Canjs Model,我正在构建一个简单的任务应用程序,可以在其中添加新状态。场景是,我已经通过调用can.Model findAll方法使用预定义的对象数组构建了状态仪表板。视图存储在“dashboard.ejs”中。在创建新状态时,我会将该数据持久化到对象数组中,并在保存回调中保存新的数组数据(包括出现的新数据)。现在我的问题是如何用新返回的数据刷新当前视图 controller=new can.Control({ init:function(element,options) { v
controller=new can.Control({
init:function(element,options)
{
var frag=can.view('dashboard.ejs',this.options)
this.element.html(frag);
},
'someButton click':function(el,ev)
{
new ModelCall(formObject).save(function(response)
{
//response contains added new object
//how to refresh the dashboard.ejs with the new response
});
}
})
为此,我是否需要再次创建新控制器的对象,或者我缺少什么?can.Model.save在完成后返回保存的模型,因此您所要做的就是将新模型推送到列表中:
var self = this'
model.save(function (savedModel) {
self.listOfModels.push(savedModel);
});
在你的情况下,我不清楚你的模型列表在哪里,在这个地方。选项?将模型推入列表后,视图应自动刷新。是。我的模型列表在这个.options中。现在save函数返回新的模型对象(整个旧列表+新对象)。如何使用该响应进行更新?我在我的视图中使用了此选项:)EJS应该为您更新此选项,确保您正在使用EJS模板中的.each和.attr。关于,如何为findAll()一次又一次刷新数据?在对记录执行某些操作后,我想再次获取记录