用于获取回调成功的骨干选项

时间:2014-11-27 14:07:34

标签: javascript backbone.js override

subscribe:function(){

this.model.save({email: email}, {
success: function (data) { 
var msg = view.model.getSuccessMessage(view._SiteInstance.get('paid_features'));
view.notify({message: msg, timeout: 7000});
view.trigger('email:subscribed');
this.storageKey = 'email_subscribe';
localStorage.setItem(this.storageKey, true);
view.$el.parent().removeClass('slide-in');
};

}

这是我需要覆盖的内容,以便在弹出窗口中显示我的确认消息,而不是调用view.notify

我的功能属于oneView。

弹出窗体调用myFunction(从另一个视图)。

我想从我的视图中调用myFunction并使用Backbone覆盖它(我需要覆盖成功回调)。

1 个答案:

答案 0 :(得分:1)

您可以覆盖模型的`save方法并在那里注入成功函数。

Backbone.Model.extend({

    // Overwrite save function
    save: function(attrs, options) {
        options || (options = {});
        attrs || (attrs = _.clone(this.attributes));
        var oldSuccess = options.success || function() {};

        options.success = function(result){
            //you code goes here
        }

        // Proxy the call to the original save function
        Backbone.Model.prototype.save.call(this, attrs, options);
    }
});

覆盖此问题:Exclude model properties when syncing (Backbone.js)