我已经编写了如下所述的代码。到目前为止,仅在单击鼠标时选择列表项。即使按下键盘上的向上和向下箭头,我也想遍历列表。如何使用angular2实现此目的?
import { Component } from '@angular/core';
export class Hero {
name: string;
}
const HEROES: Hero[] = [
{ name: 'STWX1' },
{ name: 'STWX2' },
{ name: 'STWX3' },
{ name: 'STWX4' }
];
@Component({
selector: 'my-app',
template: `
<div style="display: inline-block; width = 200px; ">
<ul class="heroes">
<li *ngFor="let hero of heroes" (click)="onSelect(hero)"
[class.selected]="hero === selectedHero">
<p>{{hero.name}}</p>
</li>
</ul>
</div>'
Run Code Online (Sandbox Code Playgroud)
,样式:[...]})
export class AppComponent {
name = 'Angular1';
testRequestId = '3224';
heroes = HEROES;
selectedHero: Hero;
goToDivClick() {
return HEROES;
}
onSelect(hero: Hero): void {
this.selectedHero = hero;
}
Run Code Online (Sandbox Code Playgroud)
}
<li *ngFor="let hero of heroes;let index=index"
[style.background-color]="index === selectedIndex ? 'yellow' : null"
(click)="onSelect(hero)"
(keydown.ArrowLeft)="onLeft($event)" (keydown.ArrowRight)="onRight($event)"
(keydown.ArrowUp)="onUp($event)" (keydown.ArrowDown)="onDown($event)"
Run Code Online (Sandbox Code Playgroud)