2013-03-08 87 views
0

我正在使用CanJS编写SPA,其中包含一个列表,用户可以添加该列表。我想通过将其写入文件来永久存储新添加的项目。有人能帮我吗?CanJS将文件保存到文件

'.btn_save click': function (ele, ev) { 
     var self = this; 
     var val = this.$input.val(); 
     // get the currently selected model 
     var model = this.state.attr('selected'); 
     // store if it is new 
     var isNew = model.isNew(); 
     // update the attributes 
     model.attr('name', val); 
     // save it 
     model.save(function (library) { 
      if (isNew) { 
       // if new then append it to the list 
       self.libraries.push(library); 
      } 

      self.resetSelected(); 
     }); 
     return false; 
    }, 

这会为当前浏览会话临时保存该项目。我想永久保存它。

+0

有人可以帮助我学习CanJS。我很困惑使用CanJS。 – 2013-03-12 10:04:54

回答

0

您可以使用HTML5 FileWriter API将您的列表本地保存到文件中。见this question。 除非使用HTML5,否则无法在用户的计算机上使用JavaScript保存文件。

3

TodoMVC示例使用localstorage进行永久存储。如果包括can.localstorage.min.js,你可以使用它像这样:

var Todo = can.Model.LocalStorage({ 
    storageName: 'todos-canjs' 
}, { 
}); 

这将存储您的模型数据永久保存在浏览器的localStorage。