Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

211
Visualizações
Llamar a un método del componente hijo

Tengo un componente secundario anidado como este:

 <app-main> <child-component /> </app-main>

Mi componente appMain necesita invocar un método en el componente secundario.

¿Cómo invocar un método en el componente secundario?

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Puede obtener una referencia a un elemento usando

 @ViewChild('childComponent') child;

donde childComponent es una variable de plantilla <some-elem #childComponent >` o

 @ViewChild(ComponentType) child;

donde ComponentType es el tipo de un componente o directiva y luego en ngAfterViewInit o un controlador de eventos llama a child.someFunc() .

 ngAfterViewInit() { console.log(this.child); }

Ver también hacerse con un elemento de la plantilla

over 4 years ago · Santiago Trujillo Relatório

0

El padre y el niño pueden comunicarse a través del enlace de datos.

Ejemplo:

 @Component({ selector: 'child-component', inputs: ['bar'], template: `"{{ bar }}" in child, counter {{ n }}` }) class ChildComponent{ constructor () { this.n = 0; } inc () { this.n++; } } @Component({ selector: 'my-app', template: ` <child-component #f [bar]="bar"></child-component><br> <button (click)="f.inc()">call child func</button> <button (click)="bar = 'different'">change parent var</button> `, directives: [ChildComponent] }) class AppComponent { constructor () { this.bar = 'parent var'; } } bootstrap(AppComponent);

Manifestación

#f crea una referencia al componente secundario y se puede usar en la plantilla o pasar a la función. Los datos del padre se pueden pasar mediante enlace [ ] .

over 4 years ago · Santiago Trujillo Relatório

0

Ser un hijo componente

 @Component({ // configuration template: `{{data}}`, // more configuration }) export class Son { data: number = 3; constructor() { } updateData(data:number) { this.data = data; } }

Tener un componente paterno

 @Component({ // configuration }) export class Parent { @ViewChild(Son) mySon: Son; incrementSonBy5() { this.mySon.updateData(this.mySon.data + 5); } }

En la plantilla del padre

 <son></son> <button (click)="incrementSonBy5()">Increment son by 5</button>

Esta solución solo funciona para una instancia de <son></son> en la plantilla principal. Si tiene más de una instancia, solo funcionará en la primera de la plantilla.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda