Angularルーティングサブルートの詳細な説明

Angularルーティングサブルートの詳細な説明

1. サブルート構文

2. 例

商品詳細ページでは、商品ID情報に加え、商品の説明や販売担当者の情報も表示されます。

製品説明コンポーネントと営業担当者情報コンポーネントは、サブルーティングを通じて製品詳細コンポーネント内に表示されます。

1. 2つの新しいコンポーネントを作成し、その内容を変更する

ng g コンポーネント製品の説明
ng g コンポーネント sellerInfo

重要な点は、営業担当者情報コンポーネントを変更して営業担当者 ID を表示することです。

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

@成分({
  セレクター: 'app-seller-info',
  テンプレート URL: './seller-info.component.html',
  スタイル URL: ['./seller-info.component.css']
})
SellerInfoComponentクラスをエクスポートし、OnInitを実装します。
  プライベート販売者ID: 数値;
  コンストラクター(プライベートルート情報: ActivatedRoute) { }

  ngOnInit() {
    this.sellerId = this.routeInfo.snapshot.params["id"];
  }

}

2. ルーティング設定を変更する

製品コンポーネントにサブルートを追加する

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

3. product.component.tsのテンプレートを変更する

注意: routerLink は ./ として構成する必要があり、/ は再度使用できません。

<p>
  これは製品情報コンポーネントです</p>
<p>
  製品 ID は {{productId}} です
</p>

<a [routerLink]="['./']">製品の説明</a>
<a [routerLink]="['./seller',99]">営業担当者情報</a>
<ルーター アウトレット></ルーター アウトレット>

効果:

メインルートは /product/2 で、サブルートは空の文字列です。

メインルートの商品詳細コンポーネントが表示され、サブルートの空文字列に対応する商品説明コンポーネントも表示されます。

営業担当者情報リンクをクリックします:

URL パスは http://localhost:4201/product/2/seller/99 になります。

サブルート seller/99 と対応する sellerInfo コンポーネントも表示されます。

知らせ:

1. ソケットルータアウトは親子関係を形成し、無限にネストできる。

2. すべてのルーティング情報は、app.routing.module.ts のモジュール レベルで構成されます。

ルーティング情報はモジュール レベルにあり、すべてのコンポーネント自体はルーティングに関連する情報を一切認識していません。

ソケット間の親子関係 - 子ルーティング。

ソケット間の兄弟関係 - 補助ルーティング。

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

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

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

>>:  Nginx の負荷分散方法の概要

推薦する

ab ツールを使用してサーバー上で API ストレス テストを実行します。

目次1 システムスループットの簡単な紹介2 試験方法2.1 クライアントテストツール2.1.1 GE...

アダプティブ Web デザインを実現する方法に関する関連知識ポイントの要約

「アダプティブ Web デザイン」はどのように機能しますか?実はそれほど難しいことではありません。 ...

MySQL 8.0.11 Community Green Edition の Windows 用インストール手順図

このチュートリアルでは、インストールに最新の MySQL コミュニティ グリーン バージョンである ...

サーバーのDockerコンテナへのvscodeリモート接続を設定する方法

目次画像をプルするイメージを実行する(コンテナを生成する)コンテナを起動するコンテナに入るすべてのミ...

2018 年にリリースされる Apache Spark 2.4 の新機能は何ですか?

この記事は、2018 年 9 月 19 日に Adob​​e Systems Inc で開催された ...

HTML ページはダーク モードの実装をサポートします

2019年から、AndroidとiOSの両方のプラットフォームでダークモードが使用され始めました。も...

Linux を使用して時間指定ファイルが占有するディスク容量を計算する方法

スケジュールされたタスク エディターを開きます。Cent は、デフォルトで vim を使用して直接開...

サーバー上で Nginx を使用して Springboot プロジェクトをデプロイする方法の詳細なチュートリアル (jar パッケージ)

1. Javaプロジェクトをjarパッケージにパッケージ化するここではMavenツールを使用します...

CSS により、子コンテナが親要素を超えます (子コンテナは親コンテナ内で浮動します)

序文場合によっては、次の図のような浮動効果の要件が必要になります。 成し遂げる標準的な通常の状況では...

Vueドロップダウンリストの2つの実装方法の比較

Vueドロップダウンリストの2つの実装最初の方法はv-forを使用する <el-select ...

Tencent Cloud Server Centosにデータディスクをマウントする方法

まず、ハードディスクデバイスにデータディスクがあるかどうかを確認します # まずfdisk -lを実...

MySQLクエリ最適化分析チュートリアルをステップバイステップで教えます

序文MySQL は、強力なクエリ機能、高いデータ一貫性、高いデータ セキュリティ、およびセカンダリ ...

JavaScript マクロタスクとマイクロタスクの実行順序についての簡単な説明

目次1. JavaScriptはシングルスレッドです1. 同期タスク2. 非同期タスク2. タスクキ...

HTML テーブルの使い方 (Web ページの視覚効果を表示する)

NetEase Blog で HTML を使用する場合、テンプレートに直接コードを追加できることは...

コンピュータが予期せずシャットダウンした後、VMware で Linux がインターネットに接続できない問題の解決策

問題の説明: Linux システムのネットワーク カード ファイル /etc/sysconfig/n...