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'
}, {
});

Это будет хранить ваши данные модели постоянно в локальном хранилище браузера.

Другие вопросы по тегам