我正在尝试使用arrow方法在嵌套函数内访问组件。当我使用arrow方法时,出现编译器错误“错误TS2496:ES3和ES5中的arrow函数无法引用'arguments'对象。请考虑使用标准函数表达式。”
我了解了一下,并试图将其转换为其余参数,但不确定如何使它工作。
在休息参数之前:
((H => {
H.wrap((H as any).seriesTypes.sunburst.prototype, 'drillUp', (proceed) => {
proceed.apply(this, Array.prototype.slice.call(arguments, 1));
console.log('drillup');
this.drillUpClick();
});
}))(Highcharts);
休息后参数:
((H => {
H.wrap((H as any).seriesTypes.sunburst.prototype, 'drillUp', (proceed, ...args) => {
proceed.apply(this, Array.prototype.slice.call(args, 1));
console.log('drillup');
this.drillUpClick();
});
}))(Highcharts);
我无法启动console.log。收到错误消息“无法读取未定义的未定义属性”
请咨询。
答案 0 :(得分:0)
args
已经是您的其余论点。所以不要切数组:
((H => {
H.wrap((H as any).seriesTypes.sunburst.prototype, 'drillUp', (proceed, ...args) => {
if(args && args.length > 0) {
proceed.apply(this, args);
}
console.log('drillup');
this.drillUpClick();
});
}))(Highcharts);