我想要通过按钮点击或类似的东西来表示我的转发器的每一行。什么是Angular 2的做法?
提前感谢
<section class="section">
<article class="article" *ngFor="let item of slides; let i = index">
<figure class="figure" *ngIf="item.show">
<img src="{{item.image}}" alt="{{item.description}}"/>
<figcaption>{{item.description}}</figcaption>
</figure>
</article>
<mySlideShow style="display:block;clear:both;" [aList]="slides">click me</mySlideShow>
</section>
编辑:
所以我添加一个公共布尔“show”并在ngOnInit()阶段初始化它。然后我有一个click事件,它传入对象,然后我按索引递增。
答案 0 :(得分:0)
我知道这听起来很明显,但只需将item
作为参数传递给(click)
方法。
<div (click)="onDivClick(item)">Click me!</div>
如果您更改了该项目中的任何内容,则可能需要手动调用更改检测。
constructor(private changeDetectorRef: ChangeDetectorRef) {}
// ...
onDivClick(item: ISlide): void {
item.description = "some new description";
changeDetectorRef.detectChanges();
}