#angular
Вопрос:
Мне нужно изменить стиль кнопки при срабатывании события щелчка.
Я просмотрел и узнал, как использовать [class]
свойство, но не уверен, как его реализовать. Мне нужно вызвать класс css после срабатывания события click.
<button type="button" [disabled]="isdisabled"
style="background: #79CEA4 !important;color: #FFFFFF !important;font-size: 13px;font-weight: 600;margin-right: 10px"
class="btn btn-lg" (click)="start(tId,uId)"> START
</button>
Комментарии:
1. Почему бы не использовать :наведение, :фокусировка, :активен в css?
2. вы хотите, чтобы этот класс был активен только при нажатии на него? Или если он был нажат один раз?
3. @Powkachu я хочу отключить эту кнопку,но уже есть одно свойство отключения . Поэтому я решил изменить цвет кнопки на серый, а события указателя-на нет. Мне нужно это сделать, если нажата кнопка
4. @Hosh Вы имеете в виду в элементе проверки ?
Ответ №1:
Создайте переменную переключения в .ts (щелкните: логическое значение) и установите значение true в методе обработчика событий click.
Затем добавьте этот атрибут в HTML-элемент:
[ngClass]="{'your-class' : clicked}"
Он добавляет список классов css с заданным именем класса, если выбранная переменная имеет значение true.
Ответ №2:
Это пример использования клика event
.
<button
type="button"
[disabled]="isdisabled"
style="
background: #79cea4 !important;
color: #ffffff !important;
font-size: 13px;
font-weight: 600;
margin-right: 10px;
"
class="btn btn-lg"
(click)="start($event,tId,uId)"
>START</button>
Теперь в вашем typescript
методе start
и вы можете использовать этот пример ниже:
start(event: MouseEvent amp; { target: HTMLElement }, tId, uId): void {
console.log('start');
// change style
event.target.style.background = 'orange';
// add class
event.target.classList.add('example-class');
}
Этот код выше просто пример. Потому что вы можете использовать [ngClass]
или [ngStyle]
. Это твой выбор.
Комментарии:
1. пожалуйста, используйте «Угловой способ». Помните: в Angular у вас есть переменные в .ts и используйте эти переменные в .html, вы можете использовать
[ngClass]
или[class]
или[ngStyle]
или[style.property]
2. Пожалуйста, прочитайте мой ответ выше, мне сказали, что это пример. Но вы можете использовать [ngClass] и [ngStyle]. Я думаю, что в этом ответе нет ничего неправильного, поэтому суть этого вопроса заключается в том, как изменить стиль кнопок.
3. Титус, вы можете изменить фон несколькими способами, По моему личному мнению, с помощью event.target.style.background или event.target.classList.add не являются «достаточно близкими» к Angular (и вопрос касается Angular), но это только мое личное мнение.