Skip to content

Commit f89eedb

Browse files
committed
从英雄列表中选择英雄并在详情中显示
1 parent eb7dc2a commit f89eedb

File tree

3 files changed

+19
-16
lines changed

3 files changed

+19
-16
lines changed

src/app/app.component.js

Lines changed: 4 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/app/app.component.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/app/app.component.ts

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,21 +18,25 @@ const HEROES: Hero[] = [
1818
{ id: 20, name: 'Tornado' }
1919
];
2020

21+
22+
2123
@Component({
2224
selector: 'my-app',
2325
template: `
2426
<h1>{{title}}</h1>
2527
<h2>My Heroes</h2>
2628
<ul class="heroes">
27-
<li *ngFor="let hero of heroes">
29+
<li *ngFor="let hero of heroes" (click)="onSelect(hero)" [class.selected]="hero === selectedHero">
2830
<span class="badge">{{hero.id}}</span> {{hero.name}}
2931
</li>
3032
</ul>
31-
<h2>{{hero.name}} details!</h2>
32-
<div><label>id: </label>{{hero.id}}</div>
33-
<div>
34-
<label>name: </label>
35-
<input [(ngModel)]="hero.name" placeholder="name">
33+
<div *ngIf="selectedHero">
34+
<h2>{{selectedHero.name}} details!</h2>
35+
<div><label>id: </label>{{selectedHero.id}}</div>
36+
<div>
37+
<label>name: </label>
38+
<input [(ngModel)]="selectedHero.name" placeholder="name">
39+
</div>
3640
</div>
3741
`,
3842
styles: [`
@@ -88,9 +92,9 @@ const HEROES: Hero[] = [
8892

8993
export class AppComponent {
9094
title = 'Tour of Heroes';
91-
hero: Hero = {
92-
id: 1,
93-
name: 'Windstorm'
94-
} ;
95+
selectedHero: Hero;
9596
heroes = HEROES;
97+
onSelect(hero: Hero): void{
98+
this.selectedHero = hero;
99+
}
96100
}

0 commit comments

Comments
 (0)