骨干TODO模型 - >保存方法

时间:2013-05-23 18:30:05

标签: backbone.js

我正在关注带注释的源代码:

http://backbonejs.org/docs/todos.html

模型是:

var Todo = Backbone.Model.extend({

 defaults: function() {
  return {
    title: "empty todo...",
    order: Todos.nextOrder(),
    done: false
  };
 },
 toggle: function() {
   this.save({done: !this.get("done")});
 }

});

我的问题是:

调用this.save时会发生什么?我知道该集合使用本地存储,但模型本身如何工作?

1 个答案:

答案 0 :(得分:1)

模型有url & urlRoot方法,您可以在其中定义服务器的Rest端点。

因此它将尝试连接到该点并执行与该特定点相对应的代码。因此,这会将模型的新状态保存到服务器中。

但是因为在您指的是使用本地存储适配器的情况下,更改将保留在浏览器中。因此不需要url方法。

但正因为如此,如果您尝试在其他浏览器中打开相同内容,则不会看到任何更改,因为更改是在浏览器上而不是在服务器上。