如何扩展JS组件?

时间:2019-11-22 16:46:57

标签: javascript jquery

我有这个自定义组件

(function ($) {   
    $.fn.stuff = function (options) {
        var myStuff = this;

        myStuff.render_item = function () {
           // Do something
            return "default result";
        };

        myStuff.test = function () {
            myStuff.render_item;
        };

        return myStuff;
    };

}(jQuery));

我想“扩展”此组件并重新声明“ render_item”功能,而无需直接编辑文件,因为它来自库。

我该如何实现? 谢谢。

1 个答案:

答案 0 :(得分:-1)

您可以像这样猴子打补丁:

(function($) {
  $.fn.old_stuff = $.fn.stuff;
  $.fn.stuff = function(options) {
    var myStuff = $(this).old_stuff(options);
    myStuff.old_render_item = myStuff.render_item;
    myStuff.render_item = function() {
      // do something
      myStuff.old_render_item();
      // do something else
    };

    return myStuff;
  };

}(jQuery));