web-dev-qa-db-ja.com

角度:クエリパラメータをURLに追加します

私はこれを使用しています:

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

しかし、これは機能していません。URLにparamを追加しないでください。なにか提案を?

12
None

これは、Routerクラスを使用してアーカイブできます。

コンポーネントの使用:

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
    });
   }
}

詳細については この本 およびangular Router API

33
Jota.Toledo

Jota.Toledosの回答を少し調整して、それがうまくいくようにしなければなりませんでした。

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

Routerモジュールを使用する必要があります。このドキュメントを確認してください: https://angular.io/guide/router

次のモジュールをインポートする必要があります:import { Router, ActivatedRoute, ParamMap } from '@angular/router';

0
Salim Ibrogimov