2016-07-28 7 views
0

私はconsole.logを実行するとthis.Titleを実行するgetHeroes()メソッドから "title"プロパティを読み取ることができますが、 "heroes"私は "this.heroes [0] .id" "this.heroes"と未定義のすべてを試しました。しかし、私がconsole.log(これを行う)を行うと、javascriptコンソールにすべてのプロパティが表示されます。 私は間違っていますか?角2はjsonプロパティーを未定義ですが他のプロパティーを参照してくださいok

おかげ

export class AppComponent implements OnInit { 
    title = 'Tour of Heroes'; 
    heroes: Hero[]; 
    selectedHero: Hero; 
    rows: Object[]; 

    constructor(private heroService: HeroService) { } 

    getHeroes() { 
    this.heroService.getHeroes().then(heroes => this.heroes = heroes); 
    //console.log("get heroes: "+this); 
    } 

    getRows(){ 
    var n = 3; 
    for(var i=0; i<1;i++){ 
     console.log(this.title); 
    } 

答えて

0

getHeroesメソッドは非同期ですので、あなたは、コールバック自体の中console.logを移動する必要があります。そうでなければ、結果はまだないです:あなたはgetHeroesメソッドの呼び出し後にconsole.logを使用

this.heroService.getHeroes().then(heroes => { 
    this.heroes = heroes; 
    console.log("get heroes: "+this); 
}); 

場合は、クラスにheroesプロパティを設定する前に何かを表示します。

関連する問題