Доступ к методу одного компонента из другого - PullRequest
2 голосов
/ 02 марта 2020

Я нахожусь в Angular и мне нужно вызвать метод одного компонента из другого.

Имея этот компонент:

import { Component, OnInit, Input } from '@angular/core';

@Component({
  selector: 'app-popover',
  templateUrl: './popover.component.html',
  styleUrls: ['./popover.component.scss']
})
export class PopoverComponent implements OnInit {

  constructor() {}
  @Input() texto:string;


  toggleWithGreeting(popover, texto: string) {
    if (popover.isOpen()) {
      popover.close();
    } else {
      popover.open({texto});
    }
  }

  ngOnInit(): void {}

}

Мне нужно получить доступ к методу toggleWithGreeting из родительский компонент, у меня есть это:

send(){
    this.renderer.selectRootElement(this.popName.nativeElement).toggleWithGreeting("","");
}

Но он не работает, я не могу получить доступ к методу, html, если вы можете помочь это:

 <app-popover #popName [texto]="'Esto va a ser el mensaje de error'" ></app-popover>

1 Ответ

7 голосов
/ 02 марта 2020

Вы должны использовать ViewChild в родительском компоненте:

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

@ViewChild('popName', { static: true }) popName: PopoverComponent;

Затем вы можете вызывать свою функцию следующим образом:

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