2014-06-26 69 views
0

我是Backbone的新手,所以无法理解我做错了什么。我需要的是覆盖saveCompat(media-models.jsline 310,WP 3.9.1)。我正在尝试以同样的方式执行相同的操作,以覆盖一些媒体视图覆写WordPress媒体上传器的saveCompat

wp.media.model.Attachment = wp.media.model.Attachment.extend({ 

    saveCompat: function(data, options) { 
     some code here... 
    } 
}); 

但它对我不起作用。 Native WordPress saveCompat被执行。同时非常相同的想法是完全工作wp.media.view.AttachmentCompat例如

wp.media.view.AttachmentCompat = wp.media.view.AttachmentCompat.extend({ 

    save: function(event) { 
     some code here... 
    } 
}); 

提前感谢!

回答

2

我想通了。正确的扩展方法是:

_.extend(wp.media.model.Attachment.prototype, { 

    saveCompat: function(data, options) { 
     some code here... 
    } 
}); 
0

使用_.extend删除调用超类实现方法的能力。做正确的(或至少是工作)的方法是使用主干的extend方法,然后覆盖原型wp.media.model.Attachment这样的:

var MediaCreditAttachmentModel = wp.media.model.Attachment.extend({ 
     saveCompat: function(data, options) { 
      ... 
     } 
}); 

wp.media.model.Attachment.prototype = MediaCreditAttachmentModel.prototype; 
相关问题