在两个webpack模块之间重用功能

时间:2018-07-30 14:04:47

标签: javascript function webpack

我正在尝试重用现有Webpack模块中的功能,而不是再次创建它。

第一个模块中视图#1的示例代码如下:

    SearchPopupView.prototype.highlightUser = function(item)
    {
        var self = this;

        self.selUser(item);
    }    

然后在新模块中,对于view#2-与view#1相同的HTML模板,我尝试重用相同的功能:

 UserSearch = __webpack_require__(/*! View/Popup/UserSearch */ 17)

 SearchAccountPopupView.prototype.highlightAccount = function(item)
 {
    UserSearch.prototype.highlightUser(item);
 }

它将从第一个模块执行功能,但会引发错误

  

self.selUser不是函数

我的问题是我可以重用在view#1元素上操作的任何函数还是仅在计算值上使用的那些函数?

1 个答案:

答案 0 :(得分:1)

首先,我建议您研究一下:JavaScript:Class.method与Class.prototype.method

JavaScript: Class.method vs. Class.prototype.method

第二,您正在获取的UserSearch是对象(在获取对象之前已使用关键字new进行了定义)吗?如果是这样,则您无需使用原型。您可以使用

 UserSearch.highlightUser(item);

如果它不是对象,则需要实例化它,或者需要更改类以使用静态方法。