2013-03-08 138 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。