我们使用Backbonefetch
从服务器获取一些记录并添加到页面,用于create
创建记录并添加到页面,该add to the page
部分由add
方法原因完成create
并将fetch
触发它,现在我希望他们有不同的方式add to the page
,创建我想要的记录插入(前置)到页面并将获取的记录追加到页面,有没有好的方法来做到这一点?
问问题
42 次
1 回答
1
我假设您正在使用add
-event 来监听何时将记录添加到页面。
create
和fetch
方法都将options
-object 作为参数。这个对象被传递了很多,它最终也将作为您的-event 触发器中的第三个参数add
。
现在您可以做些什么来区分add
-eventscreate
和fetch
,向您的 -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 回答