Backbone:传递或检索Collection更新的详细信息

时间:2015-11-25 19:03:17

标签: javascript backbone.js backbone-collections

我认为这可以解决我的问题。

var coll = myBackboneCollection();
coll.on('update', this.collUpdated, this);
coll.create({ id: 1 });

collUpdated: function (collection, options) {
    var newId = ???;
}

我想知道newId在回调函数中是1。这可能吗?如果可能,我不想在Collection上使用状态变量。

1 个答案:

答案 0 :(得分:1)

根据我在docs中看到的内容,create只会直接触发以下内容:

  

创建模型会立即导致"添加"要在集合上触发的事件,"请求"事件将新模型发送到服务器,以及"同步"事件,一旦服务器响应成功创建模型

判断,你应该听add事件。

另请注意,create方法的签名为collection.create(attributes, [options])

因此,如果您尝试设置模型的实际id属性,则应将其作为第二个参数传递给选项:

var coll = myBackboneCollection();
coll.on('add', this.collUpdated, this);
coll.create({},{ id: 1 });
collUpdated: function (model, collection, options) {
  if(model.id === 1){
  }
}