首页 > 解决方案 > 点击事件 - 我有 3 个手风琴,我想知道如何只使用一种方法一次管理一个事件

问题描述

这是我的代码。我有 3 个格式相同但标题不同的列表(test1、test2、test3)。我的问题是,每次我单击 test1 时,布尔值都会变为 false,这是正确的,但问题是。

Invalid test
case collapse   before click after click result  
test1           true         false       correct
test2           false        true        invalid - before click must be set to true
test3           true/false   true/false  invalid - the before and after result will be depended on 
                                                   the two test

Correct test 
case collapse   before click after click result  
test1           true         false       correct
test2           true         false       correct
test3           true         false       correct.

唯一的解决方案是使用 click1 click2 click3 分离所有方法,但这太冗余了。如果我有 15 个手风琴,那么我必须创建 15 个不合适的点击方法。

 <li>
    <mat-accordion>
          <mat-expansion-panel [class.mat-expansion-panel]="false" hideToggle="true">
                <mat-expansion-panel-header (click)="isClick()">
                   <mat-panel-title>Test1</mat-panel-title>
                   <mat-icon [style.visibility]="!isCollapse ? 'visible': 'hidden'">close</mat-icon>
                </mat-expansion-panel-header>
                <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Architecto, quo?</p>
           </mat-expansion-panel>
     </mat-accordion>

您知道如何仅使用一种方法将它们分开吗?是否有类似的评估可以确定您单击的元素?

谢谢。

标签: angulartypescriptevents

解决方案


推荐阅读