1

在我的主干模型中,当发生更改事件时,我调用 save 。

myModel = Backbone.View.extend({

  initialize: function() {
    var self = this;
    self.model.on("change", function() { self.model.save(); });
  }

});

从 Backbone 文档中,我了解到 Backbone 期望从服务器返回一个 json 对象。

所以我把模型发回给客户。然后主干更新模型,再次触发更改事件,导致它再次重新保存。

防止这种行为的推荐方法是什么?

4

2 回答 2

1

In general in Backbone when you don't want side effects from your action you just pass a silent: true option. For instance:

self.model.on("change", function() { self.model.save({silent: true}); });

I haven't tested to ensure this solves your case, but I suspect it will.

于 2013-04-01T22:17:46.017 回答
0

一种更简洁的编写方式是:

//inside you model
initialize: function () {
    this.on('change',function(){ this.save(null,{silent: true}); });
}

正如在文档主干js.org/#Model-save中一样。

第一个参数是属性,第二个是选项。

于 2015-03-26T15:05:07.290 回答