繁体   English   中英

Backbone:使用自定义同步方法调用成功

[英]Backbone: calling a success with a custom sync method

我的backbone.js应用程序中有自定义sync方法。 我的所有模型都调用此方法,但由于我在此方法中取代了success ,因此不再调用单个模型中的成功方法。 这就是我的意思 - 以下是我的自定义同步方法:

app.customSync = function(method, model, options) {
    var success = options.success,
        error = options.error,
        customSuccess = function(resp, status, xhr) {
            //call original, trigger custom event
            if(con)console.log('in custom success');
            success(resp, status, xhr);
        },
        customError = function(resp, status, xhr) {
            if(con)console.log('in custom error');
            error(resp, status, xhr);
        };
    options.success = customSuccess;
    options.error = customError;
    Backbone.sync(method, model, options);
};
Backbone.Model.prototype.sync = app.customSync;

以下是我尝试从模型中调用成功的示例:

this.model.save({
    success:function(model, response){
         if(con)console.log('this is never called');
    }
});

有谁知道我仍然可以使用自定义成功方法自定义同步,并从我的个人保存中调用成功?

作为旁注,我尝试在msuccess中调用success model.save ,但msuccess在自定义同步中未定义。

Model.save的第一个参数是您希望修改的属性的哈希,选项是第二个并保存成功/错误回调。

尝试

this.model.save({}, {
    success: function() {
        console.log('save success');
    }
});

在工作中看到这个小提琴http://jsfiddle.net/nikoshr/XwfTB/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM