Привязка одного и того же события наведения курсора к нескольким [ngClass]

<li class = "dropdown-submenu dropdown pointer" (mouseover) = "toogleClickEvent($event)" (mouseout) = "toogleClickEvent($event)"
  [ngClass] = "show">
  <a class = "test" tabindex = "-1"><i class = "fa fa-language " aria-hidden = "true"></i>{{'Language' | translate}}</a>
  <ul class = "dropdown-menu">
    <li class = "pointer"><a (click) = "changeLang('en')">{{'English' | translate}}</a></li>
  </ul>
</li>

<li class = "dropdown-submenu dropdown pointer" (mouseover) = "toogleClickEvent($event)" (mouseout) = "toogleClickEvent($event)"
  [ngClass] = "show1">
  <a href = "#"><i class = "fa fa-gear" aria-hidden = "true"></i>&nbsp;&nbsp;{{'Settings' | translate}}</a>
  <ul class = "dropdown-menu">
    <li class = "pointer"><a>{{'Default' | translate}}</a></li>
  </ul>
</li>

app.ts

export class app{
   show: string;
   toogleClickEvent($event) {
      this.show =   $event.type == 'mouseover' ? 'open' : '';
   }
}

В приведенном выше коде у меня есть два раскрывающихся списка, в которых я вызываю toogleClickEvent () в обоих раскрывающихся списках, но из-за того же метода и того же [ngclass] для обоих значений раскрывающегося списка я получаю Итак, как обрабатывать два разных [ngclss], используя один метод, кроме создания нового метода

что вы хотите делать внутри ngClass?

Chellappan வ 01.10.2018 06:55
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
0
1
42
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы можете передать ярлык внутри своей функции, например

toogleClickEvent($event,'test') 

Затем в вашем файле ts сделайте что-то вроде этого

toogleClickEvent($event,type) {
   if (type=='test') {
      this.show =   $event.type == 'mouseover' ? 'open' : '';
 }
   if (type=='test1') {
      this.show1 =   $event.type == 'mouseover' ? 'open' : '';
 }
}
Ответ принят как подходящий

использовать (mouseover) = "show='open'" (mouseout) = "show=''" [ngClass] = "show"

<li class = "dropdown-submenu dropdown pointer" (mouseover) = "show='open'" (mouseout) = "show=''"
  [ngClass] = "show">
  ....
</li>

<li class = "dropdown-submenu dropdown pointer" (mouseover) = "show1='open'" (mouseout) = "show1=''"
  [ngClass] = "show1">
  ....
</li>

Другие вопросы по теме