关于Angular Subscribe的语法问题

WEB松
  • 40

angular 官网中订阅服务的语法谁能解释一下?
在hero.component中 我们定义了一个函数来获取hero.service的请求

getHeroes(): void {
    this.heroService.getHeroes()
    .subscribe(heroes => this.heroes = heroes);
}

我知道 this.heroes是该component中的变量
那么 heroes 是一个异步返回后的数组吗?
为什么是 heroes => this.heroes = heroes
而不是 heroes => this.heroes
这里的等号是什么意思?

回复
阅读 8.3k
2 个回答

=> 是es6中的箭头函数, 与普通函数不同的是它可以绑定当前上下文
详见 https://developer.mozilla.org...

getHeroes(): void {
    this.heroService.getHeroes()
    .subscribe(heroes => this.heroes = heroes);
}

分解开等同于

getHeroes(): void {
    var _this = this; 
    this.heroService.getHeroes()
    .subscribe(function(heroes) {
        _this.heroes = heroes;
    });
}

楼上的回答很对了,你的问题跟angular没有关系,它是用了es6的语法(箭头函数)。你去学习下,就理解了。箭头函数和以前函数不一样的地方就是在this的指向。你学习的时候得注意下。

宣传栏