Ken*_*awa 7 javascript backbone.js
在我的应用程序中,我重写Backbone.sync如下:
Backbone.sync = function(method, model, options){
//Some custom code
//THIS FAILS.
Backbone.prototype.sync.call(this, method, model, options);
}}
Run Code Online (Sandbox Code Playgroud)
我的问题是,如何调用原始同步方法?我需要使用this.sync吗?
根据我的理解,Backbone.sync检查是否有本地定义的同步版本,并在调用全局Backbone.sync之前调用它:
(this.sync || Backbone.sync)
Run Code Online (Sandbox Code Playgroud)
因此,鉴于您的模型类似于TestModel.我认为你可以做这样的事情(原谅,我这可能不是正确的语法,javascript远非我的专长):
var TestModel = Backbone.Model.extend({
"sync": function(method, model, options) {
//Some custom code
Backbone.sync(method, model, options);
}
});
Run Code Online (Sandbox Code Playgroud)
尝试这样的方法,可能不是最好的解决方案,但它有效:
var parentSyncMethod = Backbone.sync; //save parent method, the override
Backbone.sync = function() {
// Your code here.
var parentSyncMethod.apply(Backbone, arguments);
};
希望它能以某种方式有所帮助
| 归档时间: |
|
| 查看次数: |
5111 次 |
| 最近记录: |