为什么 Angular Material mat-horizontal-stepper 和 mat-stepper, on following step, first (click) 不起作用?
Why Angular Material mat-horizontal-stepper and mat-stepper, on following step, first (click) does not work?
我的 (click)
事件有一个磨损问题,在 Angular 代码中触发第二次点击:
<label class="selectLabel">Select floor tiles:</label>
<div class="center row itemListedConainer scroller">
<div *ngFor="let tile of getTilesFloorItems(); let i = index" class="itemListed col"
(click)="setTile()">
</div>
</div>
经过调试和多次试验,我发现这与@angular/material/stepper
有关,在进行以下步骤后,首先(click)
不起作用。
我成功地在这个 Stackblitz 中重现了这个问题:link
请注意,当您点击第一个 step
内的任何绿色方块时,您将获得 console.log('hit')
,即使是第一次。并且在第二次 step
内,第一次点击没有登录控制台。
这是什么原因,如何处理?
发现问题:
改变getTilesFloorItems()
模式;将您的 tiles
分配给一个字段并在 ngFor
中从那里读取它。否则,您将创建 2 组 tiles
个实例。
export class QuestionsStepperComponent {
public setTile(): void {
console.log('hit');
}
tiles: any[] = [
{
type: 'tiles',
...
<div *ngFor="let tile of tiles; ...
我的 (click)
事件有一个磨损问题,在 Angular 代码中触发第二次点击:
<label class="selectLabel">Select floor tiles:</label>
<div class="center row itemListedConainer scroller">
<div *ngFor="let tile of getTilesFloorItems(); let i = index" class="itemListed col"
(click)="setTile()">
</div>
</div>
经过调试和多次试验,我发现这与@angular/material/stepper
有关,在进行以下步骤后,首先(click)
不起作用。
我成功地在这个 Stackblitz 中重现了这个问题:link
请注意,当您点击第一个 step
内的任何绿色方块时,您将获得 console.log('hit')
,即使是第一次。并且在第二次 step
内,第一次点击没有登录控制台。
这是什么原因,如何处理?
发现问题:
改变getTilesFloorItems()
模式;将您的 tiles
分配给一个字段并在 ngFor
中从那里读取它。否则,您将创建 2 组 tiles
个实例。
export class QuestionsStepperComponent {
public setTile(): void {
console.log('hit');
}
tiles: any[] = [
{
type: 'tiles',
...
<div *ngFor="let tile of tiles; ...