我们使用Backbone的fetch
从服务器获取一些记录并添加到页面,使用create
创建记录并添加到页面,add to the page
部分由{{{}}完成1}}方法原因add
和create
将触发它,现在我希望它们有差异到fetch
,创建记录我要插入(前置)到页面并获取记录追加到页面,有没有很好的方法来做到这一点?
答案 0 :(得分:1)
我假设你正在使用add
-event来监听何时将记录添加到页面。
create
和fetch
方法都将options
对象作为参数。这个obejct传递了很多,它最终会成为3rd parameter in your add
-event triggers as well。
现在,您可以做些什么来区分来自add
和create
的{{1}} - 事件,将一些变量添加到您可以轻松识别的fetch
对象中。例如
options
通过检查Backbone在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
内部设置的差异选项,可能会有一些更有说服力的方法来实现这一目标,但这样你肯定会知道。