web-dev-qa-db-de.com

Angular: Anhängen der Abfrageparameter an die URL

Ich benutze das:

import { HttpParams } from '@angular/common/http';
let params = new HttpParams();
  params.append('newOrdNum','123');

Aber das funktioniert nicht, ich füge param in url nicht hinzu. Irgendein Vorschlag?

7
None

Dies kann mit der Router-Klasse archiviert werden:

Verwendung einer Komponente:

import { Router, ActivatedRoute } from '@angular/router';

@Component({})
export class FooComponent {
   constructor(
     private _route: ActivatedRoute,
     private _router: Router
   ){}

   navigateToFoo(){
     // changes the route without moving from the current view or
     // triggering a navigation event,
     this._router.navigate([], {
      relativeTo: this._route,
      queryParams: {
        newOrdNum: '123'
      },
      queryParamsHandling: 'merge',
      // preserve the existing query params in the route
      skipLocationChange: true
      // do not trigger navigation
    });
   }
}

Weitere Informationen finden Sie in diesem Buch und der eckigen Router-API

20
Jota.Toledo

Ich musste Jota.Toledos Antwort etwas anpassen, damit es bei mir funktioniert, ich musste die zweite und die letzte Eigenschaft des Extras - Objektes herausnehmen:

   navigateToFoo(){
     this._router.navigate([], {
      queryParams: {
        newOrdNum: '123'
      },
      queryParamsHandling: 'merge',
    });
   }

Sie sollten das Modul Router verwenden. Überprüfen Sie dieses Dokument: https://angular.io/guide/router

Sie müssen diese Module importieren: import { Router, ActivatedRoute, ParamMap } from '@angular/router';

0
Salim Ibrogimov