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

109
Visualizações
Error si no verifica si {{object.field}} existe

Tengo una pregunta sobre cómo verificar si existe algún campo en el objeto.

Quiero imprimir todas las categorías que tiene el usuario, así que estoy haciendo algo como esto:

 <ul *ngIf="user.categories.length > 0" *ngFor="#category of user.categories"> <li> {{category.name}} </li> </ul>

¿La razón? Todos los datos están impresos CORRECTAMENTE , pero recibo un error en la consola web como este:

 Cannot read property 'name' of null

Pero cuando hago algo como:

 <ul *ngIf="user.categories.length > 0" *ngFor="#category of user.categories"> <li *ngIf="category"> {{category.name}} </li> </ul>

Entonces todo está bien.

¿Estoy haciendo algo mal o tal vez tengo que verificar esto cada vez? ¿Alguna vez has tenido un problema como este?

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

0

uso básico

Usar el operador de navegación segura

 {{category?.name}}

entonces el name solo se lee cuando category no es null .

formación

Esto solo funciona para el . (desreferenciar) operador. Para una matriz puedes usar

 {{records && records[0]}}

Consulte también Angular 2: no se puede leer la propiedad '0' de un error indefinido con contexto CONTEXTO DE ERROR: [objeto Objeto]

tubería asíncrona

Con tubería async se puede usar como

 {{(chapters | async)?.length

ngModel

Con ngModel actualmente, debe dividirse en

 [ngModel]="details?.firstname" (ngModelChange)="details.firstname = $event"

Consulte también Los datos no se agregan a la plantilla en angular2

*ngIf

Una alternativa siempre es envolver la parte de la vista con *ngIf="data" para evitar que la parte se represente antes de que los data estén disponibles para evitar el error de desreferencia.

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