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

推薦する

Docker を使用した nextcloud パーソナル ネットワーク ディスクの構築に関するチュートリアル

目次1. はじめに2. 導入環境ツール4. 展開プロセス要約する1. はじめにNextcloud は...

Ubuntu 18でターミナルを美しいコマンドラインプロンプトに変更する方法

VMware と Ubuntu を再インストールしましたが、コマンドラインプロンプトが単調すぎて美し...

CSS ファイルをインポートする 4 つの方法 (インライン、インライン、外部、インポート) の詳細な説明

CSS インポート方法 - インラインスタイルタグ属性を通じて、CSSのキーと値のペアがタグに直接書...

初心者のためのウェブサイト構築入門 - ウェブサイト構築に必要な条件とツール

今日は、初心者の次のような質問に答えます。学ぶ勇気さえあれば、自分のウェブサイトを構築するのは簡単で...

HTML におけるスクリプトの配置に関する簡単な説明

以前は、スクリプトは HTML 内のどこにでも配置できると思っていましたが、今日、要件に取り組んでい...

IIS 7.5では、HTMLはSHTMLのようなinclude関数(モジュールマッピングの追加)をサポートします。

最初はたくさんのエラーを見つけましたが、実際には非常に簡単です。shtm の元の設定を参照するだけで...

MySQLループは数千万のデータを挿入する

1. テストテーブルを作成する テーブル `mysql_genarate` を作成します ( `id...

WeChatアプレットは水平および垂直スクロールを実現

この記事の例では、WeChatアプレットの水平スクロールと垂直スクロールを実現するための具体的なコー...

ハイパーリンクに関するいくつかの質問

ポテトチップスパーティーのこのエピソードに参加して、何人かの友人に会えてとても嬉しいです。思いがけず...

MySQL の左結合操作における on 条件と where 条件の違いの紹介

優先度両方のケースで同じ条件を設定すると、異なる結果セットが生成される可能性があるのは、優先順位のた...

node.jsのコアモジュールとは

目次グローバルオブジェクトグローバルオブジェクトとグローバル変数プロセスコンソール一般的なツールユー...

正規表現に基づくあいまい文字列置換を実装するMySQLの方法の分析

この記事では、例を使用して、MySQL を使用して正規表現に基づくあいまい文字列置換を実装する方法を...

Docker-compose チュートリアルのインストールとクイックスタート

目次1. Compose の紹介2. ComposeとDockerの互換性3. Dockerをインス...

MySQL 5.7.20 の解凍バージョンをインストールするための詳細な手順 (2 つの方法)

Windows 64ビットでのMySQLのインストールについて説明します。5.7以降、MySQLの...

Docker に MySQL と MariaDB をインストールする方法

MySQLとMariaDBの関係MariaDB データベース管理システムは MySQL のブランチで...