0
votes

Pourquoi dois-je recevoir "Error TypeError: impossible de lire la propriété" Longueur "de UNDEFINED" sur une matrice définie?

J'ai défini, initialisé (deux fois) mon tableau, mais je reçois "Erreur TypeError: impossible de lire la propriété" Longueur "de non définie" au moment de l'exécution.

J'ai déjà essayé de vérifier si le tableau a déjà été défini comme vous pouvez le voir. Dans mon code, toujours angulaire ne me traîne pas. J'ai déjà essayé toutes les solutions, comme changer le Sintax sur "filestoupload && filestoupload? .Longueur> 0" ou une combinaison possible, mais angulaire ne fonctionne tout simplement pas correctement imo. P>

Component.html p> xxx pré>

Ceci est mon composant.ts Fichier P>

export class ImageGalleryUploadComponent implements OnInit 
{
  filesToUpload: File[] = [];
  ngOnInit() {
    this.filesToUpload = []
  }
}


2 commentaires

Il suffit de remplacer * ngif = "filestoupload && filestoupload.length> 0". Il gérera NULL et indéfini les deux.


déjà essayé, mais je reçois toujours cette erreur


3 Réponses :


2
votes

Essayez de cette façon d'utiliser un opérateur de navigation sécurisé et il gérera NULL et la longueur des fichiers en une fois,

<ng-container *ngIf="filesToUpload && filesToUpload?.length > 0">


0 commentaires

0
votes

Faites-le simplement une fois comme:

export class ImageGalleryUploadComponent implements OnInit 
{
  filesToUpload: File[] = [];
}


2 commentaires

J'ai aussi essayé ceci haha ​​je jure que j'ai déjà essayé toutes les solutions logiques


OK, pouvez-vous créer une fonction qui retourne booléen et déplacez cette logique sur le fichier composant.ts?



2
votes

Essayez ceci, quelque part que vous attribuez au non défini code> à votre objet Array.

<ng-container *ngIf="filesToUpload && filesToUpload != 'undefined' && filesToUpload.length > 0">


3 commentaires

Je ne sais pas pourquoi c'est différent mais ça a fonctionné ... pourquoi ?! Pourriez-vous expliquer, s'il vous plaît? Pourquoi n'est-ce pas une bonne pratique?


@brk Oui, nous vérifions déjà la variable, il n'est pas nécessaire de mettre? là. Je vais éditer ma réponse


Je pense que vérifier non défini dans une chaîne n'est pas une bonne idée. Je travaille dessus, car le même problème est arrivé, une fois avoir la clarté. Je vous ferai savoir. Merci :)