我有以下代码,我使用箭头功能来完成我的工作。这在Chrome和Firefox中非常有效,因为它们支持箭头功能。
this._subscription = this._modal.shown.subscribe(() => this._el.nativeElement.focus());
但是,这在IE 11中无法正常工作。所以,我试图将此箭头函数转换为匿名自调用函数。我做了以下事情:
this._subscription = this._modal.shown.subscribe((function(){ this._el.nativeElement.focus()})());
但上面的代码不起作用。难道我做错了什么?我怎样才能做到这一点。任何建议和帮助将不胜感激。
答案 0 :(得分:1)
这样做:
this._subscription = this._modal.shown.subscribe((function(){ this._el.nativeElement.focus();}).bind(this));
这里,正如上面答案评论中提到的@harmic,这将不再引用之前的值,因为在这种情况下范围会发生变化。所以,你必须绑定它才能使它工作。