我正在尝试围绕Handsontable创建一个包装器,以提供一些额外的功能.我尝试过以下操作,虽然构造函数工作,但loadData函数似乎没有被覆盖.有什么建议?
我在Chrome 45.0.2454.101m中对此进行了测试.
"use strict";
class CustomHandsontable extends Handsontable {
constructor(container, options) {
console.log("in constructor");
super(container, options);
}
loadData(data) {
console.log("load data");
super.loadData(data);
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:在阅读Chrome尚未完全支持ECMA6之后,我尝试了以下内容,但无法弄清楚如何调用父loadData方法.
function CustomHandsontable (container, options) {
console.log("constructor");
this.loadData = function(data) {
console.log("loadData");
// TODO how do you call the parent load data function?
}
};
CustomHandsontable.prototype = Object.create(Handsontable.prototype);
CustomHandsontable.prototype.constructor = CustomHandsontable;
Run Code Online (Sandbox Code Playgroud)
编辑:在@ZekeDroids提示使用Babel后,我在尝试调用超类loadData函数时收到以下错误:
Uncaught TypeError: Cannot read property 'call' of undefined
Run Code Online (Sandbox Code Playgroud)
通天码:
"use strict";
var _createClass = (function () { function defineProperties(target, props) …Run Code Online (Sandbox Code Playgroud)