http:Http;
constructor(http:Http){
this.http = http;
}
myFunction(){
//this.http works great here!
this.providerobject.getSomething( function(err, result) {
//this.http here is undefined! I need to use it here
.
.
.
使用上面显示的代码,我试图在provider.getSomething
函数内部发出一个http请求,但似乎这里的this.http
对象未定义!如何在此函数内部进行http调用?我知道它与范围有关,因为此对象在provider.getSomething
函数之外工作。我不知道如何传递它。说我这样做:
this.providerobject.getSomething(this.http, function(err, result) {
那会将它传递给我的提供者函数,但不是这个函数。如何在该范围内使用此对象?
答案 0 :(得分:2)
有两种方法,
你可以将它存储到一些变量中,然后使用它,
let self = this;
或者您可以使用胖箭头语法来处理this
let myFunction = ()=>{
// this will be preserved here,
this.providerobject.getSomething(this.http, function(err, result)
}
希望这会有所帮助!!