我正在尝试重用现有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元素上操作的任何函数还是仅在计算值上使用的那些函数?
答案 0 :(得分:1)
首先,我建议您研究一下:JavaScript:Class.method与Class.prototype.method
JavaScript: Class.method vs. Class.prototype.method
第二,您正在获取的UserSearch是对象(在获取对象之前已使用关键字new进行了定义)吗?如果是这样,则您无需使用原型。您可以使用
UserSearch.highlightUser(item);
如果它不是对象,则需要实例化它,或者需要更改类以使用静态方法。