42 lines
1.0 KiB
TypeScript
42 lines
1.0 KiB
TypeScript
// #docregion
|
|
import 'rxjs/add/operator/switchMap';
|
|
import { Component, OnInit } from '@angular/core';
|
|
import { ActivatedRoute, Params } from '@angular/router';
|
|
import { Location } from '@angular/common';
|
|
|
|
import { Hero } from './hero';
|
|
import { HeroService } from './hero.service';
|
|
|
|
@Component({
|
|
moduleId: module.id,
|
|
selector: 'my-hero-detail',
|
|
templateUrl: 'hero-detail.component.html',
|
|
styleUrls: [ 'hero-detail.component.css' ]
|
|
})
|
|
export class HeroDetailComponent implements OnInit {
|
|
hero: Hero;
|
|
|
|
constructor(
|
|
private heroService: HeroService,
|
|
private route: ActivatedRoute,
|
|
private location: Location
|
|
) {}
|
|
|
|
ngOnInit(): void {
|
|
this.route.params
|
|
.switchMap((params: Params) => this.heroService.getHero(+params['id']))
|
|
.subscribe(hero => this.hero = hero);
|
|
}
|
|
|
|
// #docregion save
|
|
save(): void {
|
|
this.heroService.update(this.hero)
|
|
.then(() => this.goBack());
|
|
}
|
|
// #enddocregion save
|
|
|
|
goBack(): void {
|
|
this.location.back();
|
|
}
|
|
}
|