1

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

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 被调用时会发生什么?我知道集合使用本地存储,但模型本身是如何工作的?

4

1 回答 1

1

模型有一个urlurlRoot方法,您可以在其中定义服务器的 Rest 端点。

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

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

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

于 2013-05-23T18:43:47.520 回答