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

3.3K
Visualizações
Cómo recargar o actualizar solo el componente secundario en Angular 8

Tengo dos componentes, un padre y otro hijo.

Parte HTML

 <div> <div class="row col-md-12"> <div class="col-md-4"> <!-- Some HTML Code of Parent component over here --> </div> <div class="col-md-8"> <child-component></child-component> </div> </div> <button class="button" (click)="reloadOnlyChild($event)">Reload Child</button> </div>

Ahora, al hacer clic en este botón, quiero que el único niño se recargue o actualice.

Parte TS

 reloadOnlyChild(event){ // I want to reload the child from here. }

Busqué en Internet, estoy obteniendo Vue o React, pero no para Angular.

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

0

Digamos que si tiene un formulario en Child.Component.ts y si desea restablecerlo desde parent component , puede establecer una conexión entre el elemento principal y el elemento secundario utilizando Subject .

Padre.Componente.html

 <child-component [resetFormSubject]="resetFormSubject.asObservable()"></child-component> <button (click)="resetChildForm()"></button>

Padre.Componente.ts

 import { Subject } from "rxjs"; resetFormSubject: Subject<boolean> = new Subject<boolean>(); resetChildForm(){ this.resetFormSubject.next(true); }

Niño.Componente.ts

 import { Subject } from "rxjs"; @Input() resetFormSubject: Subject<boolean> = new Subject<boolean>(); ngOnInit(){ this.resetFormSubject.subscribe(response => { if(response){ yourForm.reset(); // Or do whatever operations you need. } } }

Al usar Asunto, puede establecer una conexión de padre a hijo cada vez que se hace clic en el botón.

¡Espero que esta respuesta ayude! Salud :)

over 4 years ago · Santiago Trujillo Relatório

0

Puede agregar una entrada para actualizar el componente o agregar una función de actualización en el elemento secundario que puede llamar en el código. Usando @ViewChild para llamar a la función de actualización secundaria desde el padre. Me gusta esto

( https://stackblitz.com/edit/angular-updatechild ):

Niño:

 import { Component } from "@angular/core"; @Component({ selector: "app-child", templateUrl: "./child.component.html", styleUrls: ["./child.component.css"] }) export class ChildComponent { ticks = Date.now().valueOf(); constructor() {} update(): void { this.ticks = Date.now().valueOf(); } }

Padre:

 import { Component, OnInit, ViewChild } from "@angular/core"; import { ChildComponent } from "./../child/child.component"; @Component({ selector: "app-parrent", templateUrl: "./parrent.component.html", styleUrls: ["./parrent.component.css"] }) export class ParrentComponent implements OnInit { @ViewChild(ChildComponent, { static: false }) childC: ChildComponent; showChild: boolean = true; constructor() {} ngOnInit() {} onUpdateChild() { this.childC.update(); } }
over 4 years ago · Santiago Trujillo Relatório

0

También podemos usar *ngIf y setTimeout para restablecer el componente secundario desde el principal sin realizar ningún cambio en el componente secundario.

.plantilla:

.ts:

 show:boolean = true resetChildForm(){ this.show = false; setTimeout(() => { this.show = true }, 100); }

Esto es particularmente útil cuando no tenemos control sobre el componente secundario, como un componente de biblioteca de terceros.

over 4 years ago · Santiago Trujillo Relatório

0

La mejor manera de actualizar un componente secundario es: ngOnChanges()

ngOnChanges(): "Un enlace de ciclo de vida que se llama cuando cambia cualquier propiedad vinculada a datos de una directiva. Defina un método ngOnChanges() para manejar los cambios". Usamos este enlace de ciclo de vida para responder a los cambios en nuestras variables @Input().

Ejemplo:

 import { Component, Input, OnChanges } from "@angular/core"; @Component({ selector: "child-component", templateUrl: "./child-component.html" }) export class MyComponent implements OnChanges { @Input() someInput: string; constructor() {} ngOnChanges() { /**********THIS FUNCTION WILL TRIGGER WHEN PARENT COMPONENT UPDATES 'someInput'**************/ //Write your code here console.log(this.someInput); } }

Use el componente secundario dentro del componente principal de la siguiente manera

 <child-component [someInput]="inputValue"></child-component>
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