javascript - Angular 6 skicka in parametrar i URL


Så jag har en Angular-app som för närvarande har en rutt som "urlname/stockdata". Jag skulle vilja kunna skicka in en aktiesymbol i den URL:en, till exempel "urlname/stockdata/AAPL". Min app gör ett anrop till ett tredjeparts-API med den symbolen. Har ni några råd om hur jag kan göra det? All hjälp uppskattas. Tack

Svar #1

Du kan deklarera en rutt med parametrar på detta sätt:

export const routes: Routes = [
  { path: 'urlname/stockdata/:id', component: MyComp}
];

Skapa en länk i mallen:

<a [routerLink]="['/urlname/stockdata', id]">MyLink</a>

Eller navigera från .ts:

 this.router.navigate(['/urlname/stockdata', id]);

Då kan du läsa det med:

constructor(private route: ActivatedRoute) {}

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