0
votes

RouterLink angulaire ne déclenche pas Ngoninit

Ceci est le ncontinit dans le fichier Componet.ts xxx pré> xxx pré>

lorsque j'utilise un [rouperlink] code> pour naviguer vers le Composant ci-dessus, il navigue sur le composant et chargez la vue, mais elle ne déclenche pas au-dessus de la méthode Ngoninit B>. Mais si je rafraîchis la page, cela fonctionne bien. de
Existe-t-il un correctif pour le problème ci-dessus. P>

déjà utilisé href code> pour naviguer vers des pages et avec href code> Href code> Méthode ci-dessus fonctionne toujours, mais c'est très lent. C'est pourquoi je change href code> sur [rouperlink] code>. P>

ceci est le composant.html contenant la vue P>

                <div class="table-responsive">
                  <table class="table">
                    <thead class=" text-primary">
                      <th>
                        Location Name
                      </th>

                    </thead>
                    <tbody *ngIf="locations?.length > 0">
                      <tr *ngFor="let location of locations">
                        <td *ngIf="location.verified != false">
                          {{location.locationName}}
                        </td>
                      </tr>
                    </tbody>
                  </table>
                </div>
              </div>


3 Réponses :


1
votes

Lorsque le routeur param est modifié, la route de base reste la même. Donc, il ne déclenche pas le Ngoninit . Donc abonnez-vous à l'événement d'itinéraire xxx


3 commentaires

ngoninit () {this.route.params.subscribe (paramiques => {this.loctionervice.getlocation (). S'abonner (emplacement => {this.locations = emplacements;});});});}); } J'ai essayé cela mais ça ne marche pas. S'il vous plaît dites-moi au-dessus du code est correct ou faux.


Y a-t-il des erreurs


Non, cela fonctionne comme avant



1
votes

Ngoninit () est uniquement appelé une fois après qu'un composant est instancié, mais pas lorsque l'itinéraire change. Vous pouvez injecter le routeur et s'abonner à ses événements ou paramètres pour être notifiés sur les modifications de l'itinéraire.

ngOnInit() {
     this.route.params.subscribe(params: any) => {
       if(params) //your code
    });
}


1 commentaires

Pouvez-vous essayer d'ajouter un débogueur? comme première ligne à l'intérieur de Ngoninit ()?



1
votes

Essayez ceci xxx


2 commentaires

Ça marche. Mais comme href il est plus lent que [rouperlink]


Ceci est une solution de contournement d'un problème, pas une vraie réponse au problème. Vous laissez du cycle de vie angulaire.