angular/aio/content/examples/toh-pt5/src/app/hero-detail.component.ts
Brandon Roberts 8d01db4638 docs: Updated router guide content and examples for paramMap
and queryParamMap, tracing, and incidental improvements.
closes #16991 and #16259 which it also fixes.
2017-06-29 09:35:39 -07:00

47 lines
1.2 KiB
TypeScript

// #docplaster
// #docregion , v2, rxjs-import
import 'rxjs/add/operator/switchMap';
// #enddocregion rxjs-import
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, ParamMap } from '@angular/router';
import { Location } from '@angular/common';
import { Hero } from './hero';
import { HeroService } from './hero.service';
// #docregion metadata
@Component({
selector: 'hero-detail',
templateUrl: './hero-detail.component.html',
// #enddocregion metadata, v2
styleUrls: [ './hero-detail.component.css' ]
// #docregion metadata, v2
})
// #enddocregion metadata
// #docregion implement
export class HeroDetailComponent implements OnInit {
// #enddocregion implement
hero: Hero;
// #docregion ctor
constructor(
private heroService: HeroService,
private route: ActivatedRoute,
private location: Location
) {}
// #enddocregion ctor
// #docregion ngOnInit
ngOnInit(): void {
this.route.paramMap
.switchMap((params: ParamMap) => this.heroService.getHero(+params.get('id')))
.subscribe(hero => this.hero = hero);
}
// #enddocregion ngOnInit
// #docregion goBack
goBack(): void {
this.location.back();
}
// #enddocregion goBack
}