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 = []
}
}
3 Réponses :
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">
Faites-le simplement une fois comme:
export class ImageGalleryUploadComponent implements OnInit
{
filesToUpload: File[] = [];
}
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?
Essayez ceci, quelque part que vous attribuez au non défini code> à votre objet Array. <ng-container *ngIf="filesToUpload && filesToUpload != 'undefined' && filesToUpload.length > 0">
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 code> 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 :)
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