как вызвать событие click, подобное тому, что делает $ ('') .trigger ('click') при делении на функцию в угловых 5? - PullRequest
0 голосов
/ 19 сентября 2018

child2.component.html

<div class="child2">child2</div>

app.component.html

<app-child2></app-child2>  // child2.component
    <div class="app">app</div>
    <div (click)="open()">button</div>

app.component.ts

open(){
    $('.child2').trigger('click');
    $('.app').trigger('click');
  }

Я хочу вызвать с помощью: -

let element: HTMLElement = document.querySelector('.child2')as HTMLElement;
  element.click();

 let element2: HTMLElement = document.querySelector('.app') as HTMLElement;
  element2.click();

1 Ответ

0 голосов
/ 19 сентября 2018

1 - добавить идентификатор в ваш div,

<div class="child2" #child2>child2</div>

2 - в вашем компоненте получить HTMLElement с помощью @ViewChild decorator

import { ViewChild } from '@angular/core';

export class MyChildComponent {

    @ViewChild("child2") myChild2;

public externalClick(){
    this.myChild2.nativeElement.click();
}

3 - в вашем AppComponent

@ViewChild(MyChildComponent) myChildComp : MyChildComponent;

open(){
 this.myChildComp.externalClick();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...