2013-08-29 33 views
0

我們使用骨幹fetch從服務器獲取一些記錄,並添加到頁面中,使用create創造記錄,並添加到頁面中創建,在add to the page部分由add方法原因createfetch完成會觸發它,現在我想他們有diff方式到add to the page,創建記錄我想插入(prepend)到頁面並獲取記錄追加到頁面,有沒有好辦法做到這一點?骨幹獲取和使用不同的回調方法

回答

1

我假定您正在使用add -event來偵聽何時將記錄添加到頁面。

createfetch方法都將options -object作爲參數。此obejct得到通過相當多,它將最終作爲3rd parameter in your add -event triggers as well

現在,您可以如何區分add-事件與createfetch,將一些變量添加到您的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}); 

有可能是通過檢查選項骨幹實現這一目標的一些更雄辯的方式在內部設置在createfetch的差異,但這種方式,你就會知道。

+0

感謝您的快速和正確的答案:) –