【发布时间】:2017-12-05 10:22:19
【问题描述】:
如何在单击轮播组件内的按钮时在控制台窗口中显示数组索引值?其中控制台窗口显示索引值两次,最后重定向到第一个数组索引值为 1。 控制台窗口应该只显示增量为 1 的索引值,因此它开始显示数组索引值。
guide.html
<tr *ngFor="let guide of guides">
<td>{{guide.Type}}</td>
<td>{{guide.PageColor}}</td>
<td>
<carousel class="carousel slide" data-interval="false">
<slide *ngFor="let image of images; let i=index ">
<p>Image: {{i+1}}</p>
<img src="{{image.image}}" alt="First slide"/>
<p (click)="idValue(i)">
<input type="file" name="file" id="file" />
<label for="file">{{image.change}}</label>
</p>
</slide>
</carousel>
</td>
</tr>
guide.component.ts
import { Component } from '@angular/core';
import { CarouselModule } from 'ngx-bootstrap';
@Component({
templateUrl: './guide.html'
})
export class GuideComponent {
guides : any = [{ Type: 'Company', PageColor: 'red'},{ Type: 'Company', PageColor: 'Blue'}];
images:any = [{image :'img1.jpg', change:'change'},{image: 'img2.jpg', change:'add'},{image:'img3.jpg', change:'edit'},{image:'im4.jpg',change:'delete' }];
idValue(i) {
i=i+1;
console.log(i);
}
}
【问题讨论】:
-
你能改写一下这个问题吗?我想我可能会理解问题所在,但我不想在确定之前发布答案。谢谢
-
控制台正在打印索引值,每次打印两次,第二次总是打印 1
-
那么如何避免它在控制台中打印 1,如果索引值为 3 它显示 3 1st 并且与 3 一起显示 1
-
可能是轮播$event被触发了两次尝试在html中:
<p (click)="$event, idValue(i)">在组件中:idValue(event, i) { i=i+1; console.log(event, i); }并检查输出。 -
不,它不适用于活动,谢谢
标签: javascript angular typescript