Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Utilização de componentes destintos no angular

Como faço para utilizar todos os métodos de um componente dentro de outro sem que eles sejam pai e filho no Angular9?

1 resposta
solução!

Oi Daniel, tudo bem?

Em relação à sua pergunta sobre como utilizar todos os métodos de um componente dentro de outro sem que eles sejam pai e filho no Angular9, é possível fazê-lo através da utilização de serviços.

Os serviços são uma forma de comunicação entre componentes que não possuem relação de parentesco. Eles podem ser injetados em qualquer componente que faça parte do mesmo módulo do serviço. Através disso, é possível compartilhar métodos e variáveis entre componentes distintos.

Para criar um serviço no Angular9, basta executar o seguinte comando no terminal:

ng generate service nome-do-servico

Esse comando irá gerar um arquivo com o nome "nome-do-servico.service.ts" dentro da pasta "app". Dentro desse arquivo, é possível definir os métodos que serão compartilhados entre os componentes. Por exemplo:

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

@Injectable({
  providedIn: 'root'
})
export class MeuServicoService {

  constructor() { }

  meuMetodo() {
    // código do método
  }

}

Esse serviço pode ser injetado em qualquer componente através do construtor. Por exemplo:

import { Component } from '@angular/core';
import { MeuServicoService } from '../meu-servico.service';

@Component({
  selector: 'app-meu-componente',
  templateUrl: './meu-componente.component.html',
  styleUrls: ['./meu-componente.component.css']
})
export class MeuComponenteComponent {

  constructor(private meuServico: MeuServicoService) { }

  chamarMetodoDoServico() {
    this.meuServico.meuMetodo();
  }

}

Dessa forma, o método "meuMetodo" do serviço "MeuServicoService" pode ser chamado dentro do componente "MeuComponenteComponent" através da propriedade "meuServico" injetada no construtor.

É importante ressaltar que a utilização de serviços deve ser feita de forma consciente, evitando a criação de serviços muito genéricos ou que realizem várias tarefas diferentes. Além disso, é necessário tomar cuidado com a injeção de dependências circulares, que ocorrem quando um serviço é injetado em outro serviço que, por sua vez, é injetado no primeiro serviço.

Espero que tenha te ajudado.

Um abraço e bons estudos.