app.component.ts
1.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import { Component,OnInit } from '@angular/core';
import {Hero} from './models/hero'
import {HeroService} from './services/hero.service'
import { HttpModule } from '@angular/http';
@Component({
selector: 'my-app',
// template: `<h1>Hello1 {{name}}</h1>`,
templateUrl: 'app/app.component.html',
styleUrls:['app/app.component.css'],
providers: [HeroService]
})
export class AppComponent {
name = 'Angular1';
hero: Hero ={id:1, name:'Anderson'};
// heroes: Hero[];
// constructor(){
// var heroService = new HeroService();
// this.heroes=heroService.getHeroes();
// }
//Service Demo with DI
heroes: Hero[];
// constructor(private heroService: HeroService){
// // this.heroes=heroService.getHeroes();
// // Async services and Promises
// this.heroService.getHeroesSlowly().then(heroes => this.heroes = heroes);
// }
// //ngOnInit
constructor(private heroService: HeroService) {
}
ngOnInit(): void {
this.getHeroes();
}
getHeroes(): void {
// this.heroService.getHeroes().then(heroes => this.heroes = heroes);
//Simulate server latency
// this.heroService.getHeroesSlowly().then(heroes => this.heroes = heroes);
this.heroService.getHeroes().then(heroes => this.heroes = heroes);
}
// Event Handling
selectedHero: Hero;
onSelect(hero: Hero): void {
this.selectedHero = hero;
// alert(this.selectedHero.name);
}
}