Я создал контейнер с некоторыми методами, которые функционируют, когда я щелкаю и наводю на него, проблема в том, что у меня много разных контейнеров, которые требуют одинаковых методов, но я не хочу создавать много методов для одной и той же работы.
<div class="container" (mouseenter)="boxHide=false" (mouseleave)="checkBox()">
image
data
data
<br>
<br>
<div class="xyz" [hidden]="boxHide">
<hr>
hidden. <button (click)="clickButton()">click me</button>
</div>
<div class="xyz1" [hidden]="hideDetails">
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
<li>four</li>
<li>five</li>
</ul>
</div>
</div>
<div class="container" (mouseenter)="boxHide=false" (mouseleave)="checkBox()">
image
data
data
<br>
<br>
<div class="xyz" [hidden]="boxHide">
<hr>
hidden. <button (click)="clickButton()">click me</button>
</div>
<div class="xyz1" [hidden]="hideDetails">
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
<li>four</li>
<li>five</li>
</ul>
</div>
</div>
boxHide = true;
hideDetails = true;
clickButton() {
this.hideDetails = !this.hideDetails;
this.boxHide = false;
}
checkBox() {
this.boxHide = true;
if (this.hideDetails) {
this.boxHide = true;
} else {
this.boxHide = false;
}
}
.container{
border: 1px solid black;
width: max-content;
}
На данный момент, если я наведусь на любой из полей, оба поля будут расширены, но я хочу, чтобы раскрылся только один конкретный блок. И может быть много блоков, поэтому я не хочу создавать много переменных и функций для одной и той же работы.