2017-06-30 4 views
3

wie Browser URL-Parameter angular2 Routing ausblenden? Ich habe folgendes Problem:wie Browser URL-Parameter zu verbergen angular2 Routing

http://localhost:4200/product-detail/590f643acaa7dca998c2e5bd

Ich brauche den Parameter in der URL zu verstecken und erhalten:

http://localhost:4200/product-detail/

Die Route durch den folgenden Code definiert:

app.routing.ts:

export const AppRoutes: any = [ 
..... 
{ path: "product-detail/:id", component: ProductDetailComponent } 
..... 
]; 

ProductDetail.ts

this.route.params.subscribe(params => { 
    this.id = params['id']; 
    }) 
+0

Sie die params in einem globalen Dienst speichern könnte. – Ploppy

+0

Mit einer Routenkonfiguration wie dieser können Sie nicht. Ploppy hat die richtige Lösung, globalen Service und BehaviorSubject ist wahrscheinlich, was Sie verwenden möchten. –

Antwort

0

Wenn auf die gewünschte Route navigiert wird, könnten Sie skipLocationChange verwenden:

this.router.navigate(['/product-detail'], { queryParams: this.id, skipLocationChange: true});

+0

dies kann eine Lösung sein, aber dies deaktivieren die Änderung für die tatsächliche Route auch .... –