我有以下代码,我使用箭头函数来完成我的工作。这在 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()})());
但是上面的代码不起作用。难道我做错了什么?我怎样才能做到这一点。任何建议和帮助将不胜感激。
最佳答案
这样做:
this._subscription = this._modal.shown.subscribe((function(){ this._el.nativeElement.focus();}).bind(this));
在这里,正如 @harmic 在上面答案的评论中提到的那样,这将不再引用以前的值,因为在这种情况下范围会发生变化。因此,您必须绑定(bind)它才能使其工作。
关于javascript - 如何在 JavaScript 中将自调用函数作为函数参数传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40295294/