3

Il y a une erreur dans cette partie de mon codeerreur TypeError: Impossible de lire la propriété « longueur » undefined

<img src="../../../assets/gms-logo.png" alt="logo" routerLink="/overview" alt="website icon"> 

Mais quand j'ai vérifié le dossier actif, gms-logo.png est toujours là et angular-cli.json, actifs est également Là. Le chemin est également correct.

Récemment cependant, j'ai travaillé sur la fonction de recherche. Donc, mon hypothèse est,

Has the program started searching even if the user is still not focused on the input type? How do I fix this?

Ci-dessous mon html pour la recherche et la projection de son segment de suggestion

<input type="text" placeholder="Search" (keyup)="onSearch($event.target.value)">   
<div class="suggestion" *ngIf="results.length > 0"> 
    <div *ngFor="let result of results "> 
      <a href="" target="_blank"> 
       {{ result.name }} 
      </a> 
    </div> 
</div> 

Ci-dessous est mon composant

results: Object; 



onSearch(name) { 
      this.search 
      .searchEmployee(name) 
      .subscribe(
       name => this.results = name,//alert(searchName),this.route.navigate(['/information/employees/']), 
       error => alert(error), 
       ); 
} 
+0

vous pouvez accéder à votre img comme ça « actifs/gms-logo.png " – CharanRoot

Répondre

6

Vous devez initialiser votre variable results comme un tableau.

Dans votre composant, ajoutez:

results = []; 

Une autre option consiste à modifier la déclaration de votre suggestion div *ngIf pour vérifier si results est défini:

<div class="suggestion" *ngIf="results"> 
    <div *ngFor="let result of results "> 
      <a href="" target="_blank"> 
       {{ result.name }} 
     </a> 
    </div> 
</div> 
+0

Merci. J'ai défini le résultat dans un objet. C'est pourquoi. Merci – Char

+0

Pas de problème - continuez! –

+3

Autre option: 'results? .length> 0'. – developer033