我认为这可以解决我的问题。
var coll = myBackboneCollection();
coll.on('update', this.collUpdated, this);
coll.create({ id: 1 });
collUpdated: function (collection, options) {
var newId = ???;
}
我想知道newId在回调函数中是1。这可能吗?如果可能,我不想在Collection上使用状态变量。
答案 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){
}
}