0

我正在构建一个简单的任务应用程序,我可以在其中添加新状态。场景是我已经通过调用 can.Model findAll 方法使用预定义的对象数组构建了状态仪表板。视图存储在“dashboard.ejs”中。当我创建新状态时,我将这些数据保存到我的对象数组中,并在保存回调中保存新的数组数据(包括新的数组数据)。现在我的问题是如何用新返回的数据刷新我当前的视图

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
      });
    }
})

为此,我是否需要再次创建新控制器的对象,或者我遗漏了什么?

4

1 回答 1

0

can.Model .save 完成后返回保存的模型,因此您只需将新模型推送到您的列表中:

var self = this'
model.save(function (savedModel) {
    self.listOfModels.push(savedModel);
});

在你的情况下,我不清楚你的模型列表在哪里,在 this.options 的某个地方?将模型推入列表后,视图应自动刷新。

于 2014-05-12T04:19:56.280 回答