0

我们使用Backbonefetch从服务器获取一些记录并添加到页面,用于create创建记录并添加到页面,该add to the page部分由add方法原因完成create并将fetch触发它,现在我希望他们有不同的方式add to the page,创建我想要的记录插入(前置)到页面并将获取的记录追加到页面,有没有好的方法来做到这一点?

4

1 回答 1

1

我假设您正在使用add-event 来监听何时将记录添加到页面。

createfetch方法都将options-object 作为参数。这个对象被传递了很多,它最终也将作为您的-event 触发器中的第三个参数add

现在您可以做些什么来区分add-eventscreatefetch,向您的 -object 添加一些options您可以轻松识别的变量。例如

var onAdd = function(model, collection, options) {
  if(options.isFetch) console.log('this model was fetched!');
  if(options.isCreate) console.log('this model was created!');
}
model.on('add', onAdd);

model.fetch({isFetch: true});
collection.create({foo: "bar"}, {isCreate: true});

create通过检查 Backbone 内部设置的选项和差异,可能有一些更有说服力的方法来实现这一点fetch,但这种方式你肯定会知道。

于 2013-08-29T12:24:23.093 回答