Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

265
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!