Имитация нажатия на несколько кнопок Angular 8?

В Angular 8 можно имитировать нажатие на кнопки с помощью директивы click и сервиса Renderer2.

Директива click позволяет указать метод, который будет вызываться при событии клика на элементе. Мы можем использовать эту директиву в шаблоне компонента для кнопки, чтобы определить поведение, которое должно произойти при нажатии на кнопку.

Сервис Renderer2 предоставляет набор методов для манипуляции с элементами DOM. Мы можем использовать его для программного вызова события клика на кнопке.

Для имитации нажатия на несколько кнопок, вам нужно будет получить ссылку на элемент кнопки и программно вызвать событие клика.

Вот пример, который показывает, как можно имитировать нажатие на несколько кнопок в Angular 8:

1. В вашем компоненте создайте методы для обработки события клика на кнопках:

// компонент.component.ts
import { Component, Renderer2, ViewChild, ElementRef } from '@angular/core';

@Component({
  selector: 'app-компонент',
  templateUrl: './компонент.component.html',
  styleUrls: ['./компонент.component.css']
})
export class КомпонентComponent {
  @ViewChild('button1') button1: ElementRef;
  @ViewChild('button2') button2: ElementRef;

  constructor(private renderer: Renderer2) {}

  handleButtonClick() {
    // обработчик для кнопки 1
    console.log('Нажата кнопка 1');
  }

  handleButtonClick2() {
    // обработчик для кнопки 2
    console.log('Нажата кнопка 2');
  }

  simulateButtonClicks() {
    // имитация нажатия на кнопки
    this.renderer.selectRootElement(this.button1.nativeElement).click();
    this.renderer.selectRootElement(this.button2.nativeElement).click();
  }
}

2. В шаблоне компонента используйте директиву click для кнопок и добавьте метод simulateButtonClicks для имитации нажатия:

<!-- компонент.component.html -->
<button #button1 (click)="handleButtonClick()">Кнопка 1</button>
<button #button2 (click)="handleButtonClick2()">Кнопка 2</button>

<button (click)="simulateButtonClicks()">Имитация нажатия</button>

3. Когда вы нажимаете на кнопку "Имитация нажатия", вызываются методы simulateButtonClicks, которая с помощью сервиса Renderer2 имитирует нажатие на кнопку button1 и button2. В результате в консоли будут выведены сообщения "Нажата кнопка 1" и "Нажата кнопка 2".

Надеюсь, это поможет вам имитировать нажатие на несколько кнопок в Angular 8.