formularios - page title angular 4
Angular2*ng Si comprueba la longitud de la matriz de objetos en la plantilla (5)
Este artículo me ayudó mucho a descubrir por qué tampoco me funcionaba. Me da una lección para pensar en la carga de la página web y en cómo angular 2 interactúa como una línea de tiempo y no solo en el momento en el que estoy pensando. No vi a nadie más mencionar este punto, así que lo haré ...
La razón por la que se necesita * ngIf porque intentará verificar la longitud de esa variable antes de que ocurra el resto de las cosas de OnInit, y arrojará el error "longitud indefinida". Entonces, ¿por eso agregas el? porque aún no existirá, pero pronto existirá.
Referido a https://angular.io/docs/ts/latest/guide/displaying-data.html y a la pila. Cómo verificar el objeto vacío en la plantilla angular 2 usando * ngSi sigue obteniendo un error de sintaxis autodefinido. Si elimino la condición * ngIf, obtengo valores en teamMembers si introduzco algún valor para poder acceder a los valores en teamMembers.
mi objeto
teamMember
es la
[ ] array
estoy tratando de verificar que la matriz de condiciones esté vacía por tamaño.
Intentos :
<div class="row" *ngIf="(teamMembers | json) != ''{}''">
y
<div class="row" *ngIf="teamMembers.length > 0"> //Check length great than
throwing syntax error
<div class="col-md-12">
<h4>Team Members</h4>
<ul class="avatar" *ngFor="let member of teamMembers">
<li><a href=""><gravatar-image [size]="80" [email]="member.email"></gravatar-image></a></li>
</ul>
</div>
</div>
Componente :
@Component({
selector: ''pbi-editor'',
})
export class AppComponent implements OnInit {
teamMembers: User[];
Cualquier ayuda sería genial.
Puede usar
*ngIf="teamMembers != 0"
para verificar si hay datos presentes
Puedes usar
<div class="col-sm-12" *ngIf="event.attendees?.length">
Sin
event.attendees?.length > 0
o incluso
event.attendees?length != 0
Porque
?.length
ya devuelve un valor
booleano
.
Si en la matriz habrá algo, no lo mostrará.
Tal vez una exageración leve pero la biblioteca creada ngx-if-empty-or-has-items verifica si un objeto, conjunto, mapa o matriz no está vacío. Quizás ayude a alguien. Tiene la misma funcionalidad que ngIf (entonces, se admite la sintaxis else y ''as'').
arrayOrObjWithData = [''1''] || {id: 1}
<h1 *ngxIfNotEmpty="arrayOrObjWithData">
You will see it
</h1>
or
// store the result of async pipe in variable
<h1 *ngxIfNotEmpty="arrayOrObjWithData$ | async as obj">
{{obj.id}}
</h1>
or
noData = [] || {}
<h1 *ngxIfHasItems="noData">
You will NOT see it
</h1>
<div class="row" *ngIf="teamMembers?.length > 0">
Esto comprueba primero si
teamMembers
tiene un valor y si
teamMembers
no tiene un valor, no intenta acceder a la
length
de
undefined
porque la primera parte de la condición ya falla.