0
import {OnInit} from '@angular/core';
export class GitGrabService implements OnInit {
url;
ngOnInit() {
}
getUsername(name: string) {
this.url = 'http://api.github.com/users/' + name + '/repos';
this.sendUrl();
}
sendUrl(): string {
return this.url;
}
}
ここで私は別のサービスのsendUrl()にアクセスしようとしていますが、印刷しようとすると定義されていません。次の関数で変数の同じスコープにアクセスする方法は?
import {GitGrabService} from './gitGrab.service';
import {Injectable} from '@angular/core';
import {Headers, Http} from '@angular/http';
@Injectable()
export class GitRepoService {
// public url;
constructor(private gitgrabService: GitGrabService,
private http: Http) {}
fetchRepo() {
console.log(this.gitgrabService.sendUrl());/// This shows up as undefined.
return this.http.get(this.gitgrabService.sendUrl());
}
}
ありがとうございます。
真。しかし、GitRepoServiceに追加したので、コンソールに戻り値を出力できるはずです。 –
あなたの 'this.url'値は最初は定義されていませんので、' this.gitgrabService.sendUrl() 'は' this.getUsername() 'メソッドを最初に実行しないと未定義の値を返します。 'sendUrl'の実行です。 –