スポンサーリンク
スポンサーリンク

Angularでコンポーネントを追加してページ遷移する手順

AngularVisual Studio Code

Angularにサイドメニューを追加する手順で作成した Angularプロジェクトに、コンポーネントを追加し、SPAアプリケーションのページ遷移機能を追加しました。
Angular 17まで必要だった app-routing.module.ts が、Angular 18 からは必要無くなりルーティングの実装が楽なっています。
ソースコードは GitHub で公開しています。

  1. 修正後の画面
  2. ページ遷移先 コンポーネント作成
  3. 追加変更したソースコード解説
      1. Src4_PageTransition/src/app/app.component.html
      2. Src4_PageTransition/src/app/app.component.scss
      3. Src4_PageTransition/src/app/app.component.ts
      4. Src4_PageTransition/src/app/app.routes.ts
      5. Src4_PageTransition/src/app/dashboard/dashboard.component.html
      6. Src4_PageTransition/src/app/dashboard/dashboard.component.scss
      7. Src4_PageTransition/src/app/dashboard/dashboard.component.spec.ts
      8. Src4_PageTransition/src/app/dashboard/dashboard.component.ts
      9. Src4_PageTransition/src/app/enquiry/enquiry.component.html
      10. Src4_PageTransition/src/app/enquiry/enquiry.component.scss
      11. Src4_PageTransition/src/app/enquiry/enquiry.component.spec.ts
      12. Src4_PageTransition/src/app/enquiry/enquiry.component.ts
      13. Src4_PageTransition/src/app/headermenu/headermenu.component.html
      14. Src4_PageTransition/src/app/headermenu/headermenu.component.ts
      15. Src4_PageTransition/src/app/home/home.component.html
      16. Src4_PageTransition/src/app/home/home.component.scss
      17. Src4_PageTransition/src/app/home/home.component.spec.ts
      18. Src4_PageTransition/src/app/home/home.component.ts
      19. Src4_PageTransition/src/app/profile/profile.component.html
      20. Src4_PageTransition/src/app/profile/profile.component.scss
      21. Src4_PageTransition/src/app/profile/profile.component.spec.ts
      22. Src4_PageTransition/src/app/profile/profile.component.ts
      23. Src4_PageTransition/src/app/settings/settings.component.html
      24. Src4_PageTransition/src/app/settings/settings.component.scss
      25. Src4_PageTransition/src/app/settings/settings.component.spec.ts
      26. Src4_PageTransition/src/app/settings/settings.component.ts
      27. Src4_PageTransition/src/app/sidemenu/sidemenu.component.html
      28. Src4_PageTransition/src/app/sidemenu/sidemenu.component.ts
  4. 実装した環境

修正後の画面

 

ページ遷移先 コンポーネント作成

VS Code のターミナルで下記コマンドを実行しコンポーネントを追加。

追加された。

 

追加変更したソースコード解説

 

Src4_PageTransition/src/app/app.component.html

Angularウェルカム画面の<main>は dashboard.component.htmlへ移動。
アプリケーションのメインテンプレートは、ヘッダーメニュー(app-headermenu)、サイドメニュー(app-sidemenu)、ルーター表示エリア(router-outlet)のみに変更。

 

Src4_PageTransition/src/app/app.component.scss

app.component.htmlにある containerのスタイルのみ残し、Angularウェルカム画面に対応するスタイルは全て dashboard.component.scssへ移動。

 

Src4_PageTransition/src/app/app.component.ts

titleに値を設定する処理は dashboard.component.tsへ移動したので、app.component.tsからは削除。

 

Src4_PageTransition/src/app/app.routes.ts

ルーティングにページ遷移先コンポーネントのパスを追加。

 

Src4_PageTransition/src/app/dashboard/dashboard.component.html

app.component.htmlにあった Angularウェルカム画面はこちらに移動。

 

Src4_PageTransition/src/app/dashboard/dashboard.component.scss

app.component.scssにあった Angularウェルカム画面に対応するスタイルはこちらに移動。

 

Src4_PageTransition/src/app/dashboard/dashboard.component.spec.ts

※「ng generate component」コマンドで作成した時点から変更ないので省略。

 

Src4_PageTransition/src/app/dashboard/dashboard.component.ts

app.component.tsにあった Angularウェルカム画面の titleに値を設定する処理はこちに移動。

 

Src4_PageTransition/src/app/enquiry/enquiry.component.html

「お問い合わせ」ページに対応したタイトルを追加。

 

Src4_PageTransition/src/app/enquiry/enquiry.component.scss

※「ng generate component」コマンドで作成した時点から変更ないので省略。

 

Src4_PageTransition/src/app/enquiry/enquiry.component.spec.ts

※「ng generate component」コマンドで作成した時点から変更ないので省略。

 

Src4_PageTransition/src/app/enquiry/enquiry.component.ts

※「ng generate component」コマンドで作成した時点から変更ないので省略。

 

Src4_PageTransition/src/app/headermenu/headermenu.component.html

ヘッダーメニューのリンクを Angularの routerLinkに変更。

 

Src4_PageTransition/src/app/headermenu/headermenu.component.ts

ヘッダーメニューのリンクで使う、Angularのルーティングモジュールをインポート。

 

Src4_PageTransition/src/app/home/home.component.html

「ホーム」ページに対応したタイトルを追加。

 

Src4_PageTransition/src/app/home/home.component.scss

※「ng generate component」コマンドで作成した時点から変更ないので省略。

 

Src4_PageTransition/src/app/home/home.component.spec.ts

※「ng generate component」コマンドで作成した時点から変更ないので省略。

 

Src4_PageTransition/src/app/home/home.component.ts

※「ng generate component」コマンドで作成した時点から変更ないので省略。

 

Src4_PageTransition/src/app/profile/profile.component.html

「プロフィール」ページに対応したタイトルを追加。

 

Src4_PageTransition/src/app/profile/profile.component.scss

※「ng generate component」コマンドで作成した時点から変更ないので省略。

 

Src4_PageTransition/src/app/profile/profile.component.spec.ts

※「ng generate component」コマンドで作成した時点から変更ないので省略。

 

Src4_PageTransition/src/app/profile/profile.component.ts

※「ng generate component」コマンドで作成した時点から変更ないので省略。

 

Src4_PageTransition/src/app/settings/settings.component.html

「設定」ページに対応したタイトルを追加。

 

Src4_PageTransition/src/app/settings/settings.component.scss

※「ng generate component」コマンドで作成した時点から変更ないので省略。

 

Src4_PageTransition/src/app/settings/settings.component.spec.ts

※「ng generate component」コマンドで作成した時点から変更ないので省略。

 

Src4_PageTransition/src/app/settings/settings.component.ts

※「ng generate component」コマンドで作成した時点から変更ないので省略。

 

Src4_PageTransition/src/app/sidemenu/sidemenu.component.html

サイドメニューのリンクを Angularの routerLinkに変更。

 

Src4_PageTransition/src/app/sidemenu/sidemenu.component.ts

サイドメニューのリンクで使う、Angularのルーティングモジュールをインポート。

 

実装した環境

Angular: 18.2.3
Node.js: 22.8.0
Visual Studio Code: 1.92.2

 

コメント

タイトルとURLをコピーしました