2017-03-02 2 views
0

Ich habe 2 Komponenten: Product ProduktAngular 2 Router navigate, geht zur Seite und kommt zurück

Wenn ich auf ein Produkt in der Produktliste klicken, um es zu Produktkomponente gehen sollte.

Produktliste, unselect Produkt HTML:

<p><a href="#" class="btn btn-primary" role="button" (click)="onSelect(item)">Learn more</a></p> 

TS:

onSelect(product: IProduct) { 
    this.router.navigate(['/product', product.productId]); 
    } 

es um Produkt Component gehen nicht und tröstet die ID:

constructor(private _route: ActivatedRoute) 
    { 
     this._route.params.subscribe(
      params => { 
       let id = params['id']; 
       console.log(id) 
      }); 
    } 

Aber dann navigiert Zurück zur Produktliste Warum? \

Während, wenn ich von HTML gehen tun, die Router ist zu verwenden: Es funktioniert ...

[routerLink]="['/product',item.productId]" 

Warum?

+1

Können Sie den Anruf zu "onSelect" hinzufügen, den Sie in Ihrer Vorlage haben? –

+0

Bitte geben Sie weitere Informationen. Wie sieht Ihre Routenkonfiguration aus? –

+1

Sie sollten auch Ihre Konsole öffnen und nach Fehlern suchen. Manchmal, wenn die Zielseite fehlerhaft ist, geht die App zur vorherigen Arbeitsseite (Indexseite im Allgemeinen) zurück, aber protokolliert den Fehler – mickdev

Antwort

1

Entfernen Sie die href = "#" von Ihrem Link.

+0

danke! arbeite für mich. –