jsonファイルを読み込んでsettingsProviderをビルドしたい。
だから私はこのようにやっています:
import {Http} from "angular2/http";
import {Injectable} from "angular2/core";
@Injectable()
export class SettingsProvider{
url: string = "";
constructor(http: Http){
http.request('js/app/config/config.json').map(data => data.json()).subscribe(data => this.url = data.url);
}
getUrl():string {
return this.url;
}
}
しかし、次のようなエラーが発生しました。
では、私の最初の質問は、なぜそうなのかということです。
2 番目の質問:
私がこのようにやっているとき:
http.request('js/app/config/config.json').subscribe(data => {
this.url = data.json().url;
});
これは、クラスではなく、Subscriber インスタンスを指しています。なんでそうなの?TypeScript の "fat-arrow"-lambda は、この奇妙なクロージャーを取り除くのに役立つと思いました。