Angularルーティングの基礎の詳細な説明

Angularルーティングの基礎の詳細な説明

1. ルーティング関連オブジェクト

Router と RouterLink には、ナビゲーションという同じ機能があります。コントローラーではルーターが使用され、テンプレートでは RouterLink が使用されます。

2. ルーティングオブジェクトの場所

1. ルートオブジェクト

設定はモジュール内にあります。ルートは構成情報のセットから構成され、各構成情報には少なくとも 2 つの属性 (パスとコンポーネント) が含まれます。

2. ルーターアウトレット

テンプレート内

3.ルーターリンク

テンプレート内のリンクを生成し、URLを変更する手順

4. ルーター

コントローラーでは、ルートを切り替えるために Router オブジェクトの navigation メソッドを呼び出します。

5. アクティブルート

ルーティング時に、データは URL を介して渡され、ActivatedRoute オブジェクトに保存されます。

3. ルーティング構成

ng new --routingパラメータを使用すると、追加のapp-routing.module.tsファイルが生成されます。

'@angular/core' から NgModule をインポートします。
'@angular/router' から Routes、RouterModule をインポートします。

const ルート: ルート = [];

@Ngモジュール({
  インポート: [RouterModule.forRoot(routes)],
  エクスポート: [RouterModule]
})
クラス AppRoutingModule をエクスポートします { }

app.module.ts に自動的にインポートされます。

ホーム コンポーネントとコンポーネント コンポーネントの 2 つのコンポーネントを生成します。

const ルート: ルート = [
  {path: '', コンポーネント: HomeComponent}, //パスが空です{path: 'product', コンポーネント: ProductComponent}
];

知らせ:

1. パス設定はスラッシュで始めることはできず、path:'/product' として設定することもできません。

Angular ルーターは URL を解析して生成するため、/ で始まらないことで、複数のビュー間を移動するときに相対パスと絶対パスを自由に使用できます。

2. テンプレートにパスを記述する場合は、/ で始まる必要があります。

スラッシュと . を使用すると、ルート ルート (/) に移動するべきか、サブ ルート (./) に移動するべきかを示すためです。

/ はルート ルートに移動し、ルート ルートが構成されているレイヤーから検索することを意味します。

<a [routerLink]="['/']">ホーム</a>

3. <router-outlet> の下のコンポーネントコンテンツを表示する

4. routerLinkパラメータは文字列ではなく配列です

ルーティング中にパラメータを渡すことができるためです。

4. コード内のRouterオブジェクトをナビゲートする

テンプレートにボタンを追加する

<input type="button" value="製品の詳細" (click)="toProductDetails()">

コントローラー内を移動するには、router.navigate を使用します。

ナビゲート パラメータは、routerLink パラメータと同じように構成されます。

'@angular/core' から Component をインポートします。
'@angular/router' から Router をインポートします。

@成分({
  セレクタ: 'app-root',
  テンプレート URL: './app.component.html',
  スタイル URL: ['./app.component.css']
})
クラスAppComponentをエクスポートします。
  コンストラクター(プライベートルーター:Router){
  }
  製品の詳細(){
    this.router.navigate(['/product']);
  }
}

ボタンをクリックすると、リンクをクリックするのと同じ効果が得られます。

5. 存在しないパスの設定

ページが存在しないことを示すコード 404 コンポーネントを生成します。

最初に一致したルートが優先されるため、** ワイルドカード ルートは最後に配置する必要があります。

const ルート: ルート = [
  { パス: '', コンポーネント: HomeComponent }, // パスは空です { パス: 'product', コンポーネント: ProductComponent },
  { パス: '**'、コンポーネント: Code404Component }
]; 

6. リダイレクトルーティング

アドレスを別の指定されたコンポーネントにリダイレクトします

www.aaa.com => www.aaa.com/products

www.aaa.com/x => www.aaa.com/y ユーザーは x アドレスをブックマークしている可能性があります。

リダイレクトルーティングの使用

const ルート: ルート = [
  { path: '', redirectTo : 'home', pathMatch:'full' }, // パスが空です { path: 'home', component: HomeComponent },
  { パス: 'product'、コンポーネント: ProductComponent },
  { パス: '**'、コンポーネント: Code404Component }
];

7. ルーティング中にデータを渡す

3つの方法があります

1. クエリパラメータでデータを渡す

2. ルーティングパスでデータを渡す

ルーティング パスを定義するときは、パラメータ名を指定し、実際のパスにパラメータを渡す必要があります。

3. ルーティング構成でデータを渡す

以上がAngularルーティングの基本についての詳しい説明です。Angularルーティングの基本についてさらに詳しく知りたい方は、123WORDPRESS.COM内の他の関連記事もぜひご覧ください!

以下もご興味があるかもしれません:
  • Angularルーティングサブルートの詳細な説明
  • Angularルーティングアニメーションと高度なアニメーション機能の詳細な説明
  • ログインページへのジャンプを実現する Angular マルチレベルルーティング (初心者向けチュートリアル)
  • Angularにおけるデフォルトルーティングの使用

<<:  MySQLを定期的にバックアップしてQiniuにアップロードする方法

>>:  Windows CVE-2019-0708 リモート デスクトップ コード実行脆弱性の再現問題

推薦する

LinuxにNginxをインストールする詳細な手順

1. Nginxのインストール手順1.1 公式サイトの紹介http://nginx.org/en/d...

vue2 vue3 での Echarts の詳細な使用方法

目次1. インストール2. vue2でEchartsを使用するmain.jsファイル内コンテナが与え...

CSSのborder-radiusプロパティを使用して円弧を設定します

現象: divを一定の振幅で円、楕円などに変更する方法: CSSのborder-radiusプロパテ...

ポップアップ効果を実現するにはjsを使用します

この記事の例では、ポップアップ効果を実現するためのjsの具体的なコードを参考までに共有しています。具...

Vue3.xはコンポーネント通信にmitt.jsを使用します

目次クイックスタート使い方基本原則Vue2.x はコンポーネント通信に EventBus を使用しま...

ウェブページ HTML 順序付きリスト ol と順序なしリスト ul

データを整理するためのリストWeb ページの表示を制御する多数の HTML タグを学習した後、読者は...

JavaScript サンドボックスの探索

目次1. シナリオ2. サンドボックスの基本機能3. iframeの実装4. Webワーカーの実装5...

mysql5.6.zip形式の圧縮版インストールグラフィックチュートリアル

はじめに: MySQL は、スウェーデンの MySQL AB によって開発されたリレーショナル デー...

Windows Server 2016 リモート デスクトップ サービスを展開するためのクイック スタート ガイド

現在、2016サーバーは、win2008や2012よりも優れたマルチサイトhttpsサービスをサポー...

CentOSバージョンにDockerをインストールする際のエラーの解決方法

1. バージョン情報 # cat /etc/system-release CentOS Linux ...

CSS スタイルの競合を解決するいくつかの方法 (要約)

1. セレクターを調整するコンビネータを使用すると、セレクターの説明をより正確に記述できます (C...

WebプロジェクトのDockerデプロイメントの実装

前回の記事では、docker サービスをインストールしました。引き続き、Web プロジェクトのデプロ...

Centos7 ベースの Varnish キャッシュ プロキシ サーバーを展開する

1. ワニスの概要1. ワニスの紹介Varnish は、新しいソフトウェア アーキテクチャを使用し、...

MySQL マルチテーブル結合入門チュートリアル

接続は、実際の外部キー(人工的に作成された 2 つのテーブル間の対応関係を指します。対照的に、FOR...

CentOS 8にdockerをインストールする最も詳細な方法

CentOS 8にDockerをインストールする公式ドキュメント: https://docs.doc...