HOME/Articles/

Angular Routerの手引き書

Article Outline

導入

yarn add @angular/router
import { RouterModule } from '@angular/router' # Angular Router

前提

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

export class Component {
  constructor(
    private readonly route: ActivatedRoute,
    private readonly router: Router,
  ) {}
}

画面遷移

JavaScriptから遷移する方法。

this.router.navigate(["/path", id]); // /path/:id
// URLだけ書き換える
this.router.navigate(["/path"], { replaceUrl: true });

HTMLから遷移する方法。

div([routerLink]="['/path']") // /path
div([routerLink]="['/path', id]") // /path/:id

ルーティングの設定

表示させる箇所を決める。

router-outlet

URLを設定する。

const routes: Routes = [{
  path: 'path/:id',
  component: OyaComponent,
  children: [{
    path: '',
      component: KoComponent
    }]
}]

@NgModule({
  imports: [
    RouterModule.forChild(routes),

URLを扱う

// パラメーターの初期値
this.route.snapshot.paramMap.get("id");

URLを生成する

UrlTreeを作成。

this.router.createUrlTree(["path/path", id], {
  queryParams: {
    page: 1,
  },
});

UrlTreeから文字列への変換。

this.router.serializeUrl(this.router.createUrlTree([]));