0

我正在使用具有列表的 CanJS 编写 SPA,用户可以添加列表。我想通过将新添加的项目写入文件来永久存储它。有人能帮我吗?

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

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

4

2 回答 2

3

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

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

这会将您的模型数据永久存储在浏览器的本地存储中。

于 2013-03-08T14:20:17.160 回答
0

您可以使用 HTML5 FileWriter API 将列表本地保存到文件中。看到这个问题。除非使用 HTML5,否则无法在用户计算机上使用 javascript 保存文件。

于 2013-03-09T11:51:47.257 回答