Angular 2读取json属性undefined但其他属性都没问题

时间:2016-07-28 12:51:42

标签: angular

我可以阅读"标题"来自this.title的getHeroes()方法的属性,如果我console.log我可以看到它,但不能用"英雄"财产,我试过" this.heroes [0] .id" " this.heroes"一切都是不确定的。但如果我console.log(this),JavaScript控制台会显示所有属性。

我做错了什么?

  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);
    }

1 个答案:

答案 0 :(得分:0)

Name Date Date1 price X1 2013-04-12 2013-04-11 1.1 X1 2013-05-12 2013-05-12 2 X1 2014-04-12 2013-05-12 2 X2 2012-06-11 null null X2 2014-04-12 2014-04-12 0.6 X2 2015-05-01 2014-04-12 0.6 X3 2005-02-01 null null 方法是异步的,因此您需要在回调本身内移动getHeroes。否则,结果还没有:

console.log

如果在调用this.heroService.getHeroes().then(heroes => { this.heroes = heroes; console.log("get heroes: "+this); }); 方法后使用console.log,则在设置类的getHeroes属性之前会显示一些内容。