Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

264
Vistas
formGroup.get vs formGroup.controls en forma reactiva - Angular

¿Hay alguna forma preferida al seleccionar la validación usando

  • myForm.controls['name'].valid
  • myForm.get('name').valid

ya que ambos parecen ser solo sintácticamente diferentes pero logrando el mismo objetivo.

 <label>Name <input type="text" formControlName="name"> </label> <div class="alert" *ngIf="!myForm.controls['name'].valid && myForm.controls['name'].touched"> {{ titleAlert }} </div>

Igual que

 <div class="alert" *ngIf="!myForm.get('name').valid && myForm.get('name').touched"> {{ titleAlert }} </div>

Por lo que verifiqué en el código, get este código:

 AbstractControl.prototype.get = function (path) { return _find(this, path, '.'); };

Acabo de comenzar Angular, por lo que agradecería una opinión experta.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Al igual que lo que ha encontrado, FormGroup.get está diseñado para acceder al control de formulario de destino por su path . Y se usa más a menudo para situaciones complicadas ( incrustación de múltiples capas ), lo que facilita obtener el control de destino desde el formulario de inserción de múltiples capas y también hace que el código sea claro y fácil de entender.

Tome a continuación como ejemplo, simplemente puede acceder al primer elemento de FormArray incrustado mediante this.form.get('test.0') en lugar de this.form.controls.test.controls[0] :

 this.form = this.formBuilder.group( { test: this.formBuilder.array( [ ['form control 1 in form array'], ['form control 1 in form array'], ... ] ) } );
over 4 years ago · Santiago Trujillo Denunciar

0

Esta pregunta está relacionada con: ¿El uso del método Angular Reactive Forms .get() en la plantilla causará llamadas de método innecesarias como un método de componente? .

En las plantillas, prefiero usar myForm.controls.name para evitar la llamada a la myForm.get('name') . Si el selector de campo es muy complejo, almacenaría el campo en un atributo de componente para que en la plantilla su acceso sea instantáneo.

En los controladores no debería importar demasiado usar uno u otro.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda