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;
},
Это временно сохраняет элемент для текущего сеанса просмотра. Я хочу хранить это постоянно.
2 ответа
Решение
Вы можете сохранить свой список локально в файл, используя HTML5 FileWriter API. Смотрите этот вопрос. Без использования HTML5 невозможно сохранить файл с помощью javascript на компьютере пользователя.
Пример TodoMVC использует локальное хранилище для постоянного хранения. Если вы включите can.localstorage.min.js
Вы можете использовать это так:
var Todo = can.Model.LocalStorage({
storageName: 'todos-canjs'
}, {
});
Это будет хранить ваши данные модели постоянно в локальном хранилище браузера.