paso pasar parametros otro importar entre ejemplos comunicacion componentes componente variables properties null angular

variables - pasar - paso de parametros entre componentes angular 2



Error si no comprueba si existe{{object.field}} (1)

uso básico

Use el operador de navegación segura

{{category?.name}}

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

formación

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

{{records && records[0]}}

Consulte también Angular 2: no se puede leer la propiedad ''0'' de 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 necesita 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 es siempre ajustar 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.

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 se imprimen 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?