我想重寫Backbone.sync,但也有添加後運行的原始Backbone.sync功能。我想有點像在Java中的超類調用super。有沒有辦法做到這一點,而不是複製所有以前的代碼?覆蓋Backbone.sync,但保存其以前的功能
10
A
回答
15
在JavaScript中,您可以將任何屬性或方法存儲在變量中。以下示例將Backbone.sync分配給另一個變量,然後在函數結束時將所有傳遞給您的新Backbone.sync函數的變量調用它。
var originalSync = Backbone.sync;
Backbone.sync = function() {
// Your code here.
return originalSync.apply(Backbone, arguments);
};
6
由Brian鎳提供上述將實際覆蓋骨幹answer的sync
方法,這將影響到所有的骨幹機型。如果你腦子裏想的是重寫sync
爲個別型號,您可以改爲更喜歡下面的模式(也確保從the Backbone docs正確的簽名重寫sync
):
var YourModel = Backbone.Model.extend({
sync: function(method, model, options) {
// do your custom work here
return Backbone.Model.prototype.sync.call(this, method, model, options);
}
});
有關更完整的信息這是如何工作的,請參閱Backbone's annotated source本身。希望有所幫助。
相關問題
- 1. Backbone.sync覆蓋dataType
- 2. 覆蓋Backbone.sync
- 3. 覆蓋Backbone.sync部分
- 4. 如何覆蓋Backbone.sync?
- 5. 覆蓋以前使用的功能
- 6. 覆蓋以前保存的附件
- 7. Java保存功能不會覆蓋
- 8. 覆蓋/覆蓋功能內的功能
- 9. 覆蓋功能
- 10. NSMutalbeArray ADDOBJECT但覆蓋以前的對象
- 11. Javascript - BackboneJS - Backbone.sync覆蓋 - YDN - 異步錯誤
- 12. Javascript - 覆蓋console.log並保留舊功能
- 13. 保護功能不被覆蓋在ZSH
- 14. 覆蓋Object.length功能
- 15. 覆蓋父功能
- 16. 覆蓋postLogin功能
- 17. NSMutableArray覆蓋以前存儲的元素
- 18. 如何使JavaScript不覆蓋以前的功能?
- 19. 覆蓋擴展AbstractBaseUser的django模型保存功能
- 20. Django覆蓋保存
- 21. 保存覆蓋/保存之前的學說日期
- 22. iOS中的功能覆蓋
- 23. 的Javascript knockout.js功能覆蓋
- 24. 在Django中,如何覆蓋「保存並繼續」功能?
- 25. 在瀏覽器中覆蓋控件+ s(保存功能)
- 26. UILabel覆蓋以前的值
- 27. rapidxml - 覆蓋以前的xml_nodes
- 28. DownloaderClientMarshaller.Proxy覆蓋超功能
- 29. OpenLayers覆蓋功能編號
- 30. jqplot enhancedLegendRendrer seriesToggle功能覆蓋
完美!謝謝。 – kreek