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 リモート デスクトップ コード実行脆弱性の再現問題

推薦する

JavaScript はクリックして画像の形状を変更する (変換アプリケーション) を実装します。

JavaScriptをクリックすると画像の形状が変わります(変形の応用)。参考までに具体的な内容は...

CentOs でノード バージョンを手動でアップグレードする方法

1. 対応するNode.jsパッケージを見つけます。https://nodejs.org/downl...

WIN10 システムと Docker 内部コンテナ IP 間の通信方法

1. Windows 版の Docker をインストールしたら、Docker クイックスタート ター...

Vue-Routerのインストールと使用方法の詳細な説明

目次インストールルーティングの基本構成Vue にルーターをインストールするルーターの設定Router...

Nginx 仮想ホストを構成する 3 つの方法 (ドメイン名に基づく)

Nginx は、IP ベースの仮想ホスト構成、ポート ベースの仮想ホスト構成、ドメイン名ベースの仮...

Angularフレームワークのビュー抽象定義の詳細な説明

序文「大規模なフロントエンド プロジェクト向け」に設計されたフロントエンド フレームワークである A...

Linuxルートの初期値を設定する方法の簡単な分析

Ubuntu ではデフォルトで root ログインが許可されていないため、初期の root アカウン...

js の関数の長さはどれくらいですか?

目次序文なぜいくらですか?パラメータの数デフォルトパラメータ残りのパラメータ要約する序文今日は関数の...

Linux ログ内のキーワードとその前後の情報を検索する方法の例

日常業務では、ログを表示する必要がよくあります。たとえば、 tail コマンドを使用してログをリアル...

Reactの親コンポーネントと子コンポーネント間のデータ転送の詳細な説明

目次1. 親コンポーネントが子コンポーネントにデータを渡す1.1. 親コンポーネントコード1.2. ...

ローカルアイデアアクティベーションサーバーの構築に関する詳細なチュートリアル

序文ブロガーはアイデアIDEを使用しています。アイデア公式が最近サードパーティのアクティベーションサ...

Adobe Brackets の簡単な使い方のグラフィックチュートリアル

Adobe Brackets は、HTML、CSS、JavaScript 用のオープンソースでシンプ...

CentOS 7 で Python を 3.6.6 にアップグレードした後に発生する yum エラー問題の解決方法の概要

最近、テスト サーバーのオペレーティング システムを Cent0S 7.5 にアップグレードし、Py...

MySQLのトランザクション管理操作の詳細な説明

この記事では、MySQL のトランザクション管理操作について説明します。ご参考までに、詳細は以下の通...