首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >英雄在使用.subscribe方法的服务内部绑定了什么?

英雄在使用.subscribe方法的服务内部绑定了什么?
EN

Stack Overflow用户
提问于 2019-06-05 06:38:37
回答 1查看 60关注 0票数 0

我还没有弄清楚什么英雄是绑定到订阅方法的内部。当我摆脱英雄类型,不知何故,它仍然显示我的所有英雄在页面上。因此,如果英雄在服务中没有什么可绑定的,它如何仍然能够显示我的英雄呢?

下面是包含订阅方法的组件:

代码语言:javascript
运行
复制
import { Component, OnInit } from '@angular/core';
import { Hero } from './hero';
import { HeroService } from '../hero.service';

@Component({
  selector: 'app-heroes',
  templateUrl: './heroes.component.html',
  styleUrls: ['./heroes.component.css']
})
export class HeroesComponent implements OnInit {

  heroes: Hero[];

selectedHero: Hero;

onSelect(hero: Hero): void {
  this.selectedHero = hero;
}

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

constructor(private heroService : HeroService) {}


 ngOnInit() { 
    this.getHeroes();
  }

}

这是英雄服务代码:

代码语言:javascript
运行
复制
import { Injectable } from '@angular/core';
import { Hero } from './heroes/hero';
import { HEROES } from './heroes/mock.heroes';
import { Observable, of } from 'rxjs';
import { HeroesComponent } from './heroes/heroes.component';

@Injectable({
  providedIn: 'root'
})
export class HeroService {

  getHeroes(): Observable<Hero[]> {
    return of(HEROES);
  }

  constructor() { }
}

这里有一个奇怪的部分:如果你删除

代码语言:javascript
运行
复制
heroes: Hero[];

英雄们仍然被展示出来。如果没有任何可绑定到的订阅方法,这怎么可能呢?如果订阅方法没有绑定到英雄,那么英雄是如何显示在页面上的?

所有的代码都是在“英雄@ https://angular.io/tutorial/toh-pt4#subscribe-in-heroescomponent教程”的HeroesComponent中完成的。

EN

回答 1

Stack Overflow用户

发布于 2019-06-05 07:53:21

你招来英雄的服务方法:-

代码语言:javascript
运行
复制
getHeroes(): Observable<Hero[]> {
    return of(HEROES);
  }

如果你删除了你的服务方法中的英雄,那么就不会有来自任何来源的女主角。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56455351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档