0

我有一个集合:conditions。在一个视图中,在返回HTTP 403错误响应后,我显然不想创建模型:

var attributes = ...;
conditions.create(attributes, {
  error: function (model, response) {
    conditions.trigger('error');
    var response = JSON.parse(response.responseText);
    console.log(response);
  }
});

error回调被正确调用。响应已正确记录。但是骨干仍然将(损坏的)模型添加到集合中!当我查看 时conditions.toJSON(),有一个带有一些损坏属性的新模型。

我从服务器返回了一个错误,我如何坚持 Backbone 不将新模型添加到集合中?

我可以conditions.remove(model)在回调中做,但我必须这样做吗?

4

1 回答 1

6

您可以传递{wait: true}给该create方法。

一旦在服务器上成功创建模型,创建模型将导致在集合上触发即时"add"事件以及事件。如果您想在将新模型添加到集合之前等待服务器,请通过"sync"{wait: true}

http://documentcloud.github.com/backbone/#Collection-create

于 2012-05-31T00:31:00.477 回答