Как использовать событие курсора в Angular?

Как сделать событие мыши, когда курсор указывает на amount, он будет отображать все десятичные числа? (см. пример ниже)

HTML

<p >{{amount.total ? round(amount.total) : '--'}} </p>

тс

  round(deci) {
    dec = dec.replace('%', '');
    dec = this.env.moneyFormat(dec , 2);
    return dec + '%';
  }

мышьВыйти

129.24%

мышьEnter

129.2445131545%
 

другой пример Вот так

Тестирование функциональных 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
1
0
861
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Вы можете использовать событие mouseenter и mouseleave в теге абзаца.

Проверьте это Stackblitz

Вы должны использовать процентный канал или десятичный канал для форматирования вашего числа:

<p class = "amount">
    <span class = "short">{{amount.total | percent:'1.2-2'}}</span>
    <span class = "long">{{amount.total | percent:'1.8-8'}}</span>
</p>

И используйте CSS, чтобы скрыть/показать их:

.amount .long {
    display: none;
}
.amount .short{
    display: block;
}
.amount:hover .long {
    display: block;
}
.amount:hover .short{
    display: none;
}

(или что-то в этом роде, я не тестировал этот точный код)

Вы близки... вы можете использовать mouseenter и mouseleave в своем HTML-шаблоне

Именно так:

<p (mouseenter) = "mouseEntered = true" (mouseleave) = "mouseEntered = false">
  {{ mouseEntered ? amount : amount.toFixed(2) }}%
</p>

Убедитесь, что вы определили свои переменные в своем компоненте .ts как таковые:

mouseEntered = false;
amount = 129.2445131545; 

Примечание. Я думаю, что лучше рассматривать amount как число, а не как строку. Знак процента можно добавить в HTML после фигурных скобок в элементе <p>, как я сделал в HTML выше.

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

Похожие вопросы