我正在使用带有Angular2的Rx,并且使用Subscribe方法,该方法的回调保留了调用它的组件(或类)的上下文,而不传递对它的任何引用。我的问题是他们是如何做到的?什么是Javascript技巧使它成为可能?
代码段:
this._userService.SignUpUser(this.model).subscribe(
user => {
this.newuser = user; // this, is actually same as the calling "this"? How does this work?
},
error => this.errorMessage = <any>error
);
答案 0 :(得分:3)
这是因为使用了一个提供词汇这个关键字的箭头功能。在这种情况下,this
并不对应于执行函数的实例,而是与定义函数的实例对应。
它根本与Rx无关。
有关详细信息,请参阅此链接:
答案 1 :(得分:3)