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 の負荷分散方法の概要

ブログ    

推薦する

ethers.js を使用して Solidity スマート コントラクトをデプロイする方法

Ethereum 上で DApps を開発したことがある場合は、フロントエンド JavaScript...

MySQLクエリステートメント内のユーザー変数のコード分析

前回の記事では、MySQL 最適化の概要 - クエリの合計数を紹介しました。この記事では、クエリ ス...

MySQL はどのようにしてマスターとスレーブの同期を実現するのでしょうか?

マスタースレーブ同期 (マスタースレーブレプリケーションとも呼ばれる) は、マスタースレーブデータの...

純粋な CSS を使用してユーザーが Web ページのコンテンツをコピーするのを防ぐ方法

序文私自身の個人ブログを入力しているときに、ブログの詳細ページでさまざまなコンテンツをコピーするさま...

MySQLデータベースのトランザクションとロックの詳細な分析

目次1. 基本概念酸3.自動コミット4. トランザクション分離レベル5. 同時実行の一貫性の問題6....

ウェブ上でチャートを描くための 9 つの優れた JavaScript フレームワーク スクリプト

ウェブ上でチャートを描くための 9 つの優れた JavaScript フレームワーク スクリプト 1...

大規模なデータテーブルのコピー効率を向上させるMySQLソリューション

序文この記事では主に、MySQL で大規模なデータ テーブルのコピーの効率を向上させることに関する関...

MySQLでスケジュールされたタスクを設定する方法の分析

この記事では、例を使用して、MySQL でスケジュールされたタスクを設定する方法について説明します。...

MySQLの論理アーキテクチャに関する深い理解

MySQL は現在、ほとんどの企業や事業体で使用されているデータベースです。MySQL が使用される...

mysql charset=utf8 本当に意味が分かりますか

1. まずテーブル作成ステートメントを見てみましょう テーブル学生を作成( sid int 主キー ...

nginx ログを elasticsearch にインポートする方法の例

nginx ログは filebeat によって収集され、logstash に渡され、logstash...

Tkinterはjsキャンバスを使用してグラデーションカラーを実現します

目次1. RGBを使用して色を表す2. Tkinter キャンバスコンポーネント3. グラデーション...

ページのキャッシュを防ぐソリューション

解決: <head> に次のコードを追加します。コードをコピーコードは次のとおりです。 ...

Dockerはローカルディレクトリとデータボリュームコンテナ操作をマウントします

1. DockerはローカルディレクトリをマウントしますDocker は、ホスト上のディレクトリをイ...

Vue組み込みコンポーネントのキープアライブの使用例

目次1. キープアライブの使用使用例: 1. すべてのページをキャッシュする: 2. 条件に基づいて...