Angular 2でリロードせずにルートパラメータを変更する 質問する

Angular 2でリロードせずにルートパラメータを変更する 質問する

私は Angular 2、Google マップなどを使用して不動産ウェブサイトを作成しており、ユーザーがマップの中心を変更すると、マップの現在の位置と半径を示す API の検索を実行します。問題は、ページ全体を再読み込みせずに、これらの値を URL に反映したいことです。それは可能ですか? AngularJS 1.x を使用したソリューションはいくつか見つかりましたが、Angular 2 に関するものはありませんでした。

ベストアンサー1

RC6では、状態を変更せずにURLを変更し、ルート履歴を保持するには、次の操作を実行できます。

import {OnInit} from '@angular/core';

import {Location} from '@angular/common'; 
// If you dont import this angular will import the wrong "Location"

@Component({
  selector: 'example-component',
  templateUrl: 'xxx.html'
})
export class ExampleComponent implements OnInit
{
  constructor( private location: Location )
  {}

  ngOnInit()
  {    
    this.location.replaceState("/some/newstate/");
  }
}

おすすめ記事