Rx-subscribe方法如何在不传递上下文的情况下保留上下文
How does Rx subscribe method preserve context without passing it
我将Rx与Angular2一起使用,并使用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
);
这是因为使用了一个提供词法this关键字的箭头函数。在这种情况下,this
不是对应于执行函数的实例,而是对应于定义函数的实例。
它与Rx完全无关。
有关更多详细信息,请参阅此链接:
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions
这是因为=>
而不是function()
https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Functions/Arrow_functions
相关文章:
- 如何在未直接触发的情况下停止事件
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 在不使用jquery的情况下查找页面中的所有锚点并附加函数
- 在不打开聊天屏幕的情况下制作Zopim-ding代理
- 在不阻止默认行为的情况下检测IE10中的缩放
- 如何在不传递此信息的情况下查找被调用的元素
- 如何在不刷新页面的情况下更新显示框
- 有没有一种方法可以在控制台关闭的情况下让console.log()在IE中记录消息
- JavaScript-在手机上不工作的情况下,在外部单击时隐藏元素
- 在我的情况下,如何进行http请求
- 是否可以在不更改上下文的情况下调用函数.apply
- Rx-subscribe方法如何在不传递上下文的情况下保留上下文
- 在这种特定情况下,如何在 HTML5 画布上重绘圆?(方法调用与直接使用上下文对象)
- Meteor-如何在不丢失上下文的情况下重试失败的HTTP请求
- 在没有上下文参数的情况下调用本机绑定函数(function.prototype.bind)
- 如何在不调用函数的情况下改变jQuery的执行上下文
- 我可以在没有WebView的情况下运行Javascript吗?或者WebView可以在没有Activity上下文的情况下
- 如何在不使用EF的情况下向实体添加上下文元数据?
- 使用Chutzpah运行QUnit (TypeScript)测试会在已经启动的情况下在测试上下文之外调用start()
- 在什么情况下使用上下文?