如何使用新模型对象刷新当前视图

时间:2014-05-11 11:46:20

标签: javascript jquery canjs canjs-model

我正在构建一个简单的任务应用程序,我可以在其中添加新状态。场景是我已经通过调用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
      });
    }
})

我是否需要为此目的再次创建新控制器的对象,否则我错过了什么?

1 个答案:

答案 0 :(得分:0)

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

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

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