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

269
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 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