2014-06-26 66 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; 
相關問題