GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Componentes genéricos em angular 5 ou superior

javascript
Tags: #<Tag:0x00007f37d9c32d38>

#1

Tenho estes botões que estão em todas os componentes criados de pesquisa. Sempre chamam um método padrão, isto é, a classe do componente extend de uma. Funcionando perfeitamente.

<p-button type="button" (click)="pesquisar(true)" icon="pi pi-filter" 
  pTooltip="Pesquisar" tooltipPosition="bottom" class="ui-button-raised">
</p-button>&nbsp;
<p-button type="button" (click)="novo()" icon="pi pi-plus-circle" 
  pTooltip="Novo" tooltipPosition="bottom" class="ui-button-raised">
</p-button>&nbsp;
<p-button type="button" (click)="alterar()" icon="pi pi-ban" 
  pTooltip="Limpar" tooltipPosition="bottom" class="ui-button-raised">
</p-button>&nbsp;
<p-button type="button" (click)="alterar()" icon="pi pi-pencil" 
  pTooltip="Alterar" tooltipPosition="bottom" class="ui-button-raised">
</p-button>&nbsp;
<p-button type="button" (click)="deletar()" icon="pi pi-trash" 
  pTooltip="Deletar" tooltipPosition="bottom" class="ui-button-raised">
</p-button>&nbsp;
<p-button type="button" (click)="bloquear()" icon="pi pi-lock" 
  pTooltip="Bloquear" tooltipPosition="bottom" class="ui-button-raised">
</p-button>&nbsp;
<p-button type="button" (click)="inativo()" icon="pi pi-tag" 
  pTooltip="Inativar" tooltipPosition="bottom" class="ui-button-raised">
</p-button>&nbsp;
<p-button type="button" (click)="desbloquear()" icon="pi pi-unlock" 
  pTooltip="Desbloquear" tooltipPosition="bottom" class="ui-button-raised">
</p-button>&nbsp;
<p-button type="button" (click)="imprimirTodos()" icon="pi pi-print" 
  pTooltip="Imprimir todos registros" tooltipPosition="bottom" class="ui-button-raised">
</p-button>

Para não ficar com este código em todas as telas criei o componente com o nome: BotoesTelaPesquisaComponent, assim coloquei no código html o seguinte código
<app-botoes-tela-pesquisa></app-botoes-tela-pesquisa>, assim aparece os botões corretamente.

Mas como imaginei ele não acha os métodos que estão no click, o que está correto, exemplo: pesquisar, alterar, novo, etc… Assim quando clico no botão dá erro no console do navegador informando que não existe o método.

Sei que existe o EventEmitter, que é passado por uma classe service. Mas não consegui desenvolver.

O que está faltando ?