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

推薦する

Linux ファイル操作でよく使われるコマンドのまとめ

0. 新しい操作: mkdir abc #新しいフォルダを作成 touch abc.sh #新しいフ...

ページスピードの最適化の概要

インターネットは人々の生活にますます欠かせないものになってきていると思います。 Ajax や fle...

docker compose を使用して FastDfs ファイル サーバーをインストールする詳細な例

ドッカーの作成 バージョン: '2' サービス: fastdfsトラッカー: ホスト...

MySQLでMyISAMストレージエンジンをInnodbに変更した操作記録のまとめ

一般的に、MySQL はデフォルトでさまざまなストレージ エンジンを提供しており、次のように表示され...

CSS3 変換によって子要素の固定位置を絶対位置に変更する方法

この記事では、CSS3 の transform を使用して子要素の固定配置を絶対配置に変更する方法を...

MySQL のあまり知られていないソート方法

序文ORDER BY 字段名升序/降序、このソートステートメントは皆さんご存知だと思いますが、特殊な...

必見の JavaScript 面接質問 10 選のまとめ (おすすめ)

1.これは1. 誰が誰に電話をかけますか?例: 関数foo(){ console.log(&quo...

vue-video-player を使用してライブ放送を実現する方法

目次1. vue-video-playerをインストールする2. vue-video-playerを...

TypeScript 名前空間のマージの説明

目次同じ名前の名前空間をマージする名前空間とその他の種類のマージ同じ名前の名前空間とクラスをマージす...

シンプルなカウントダウン効果を実現するJavaScript

この記事の例では、カウントダウン効果を実現するためのJavaScriptの具体的なコードを参考までに...

コードブロックのハイライトをコピーして表示できる js プラグイン highlight.js + clipboard.js 統合

主に2つの側面から: 1. ハイライト/改行2. コードのコピーボタンこれら両方には既製のプラグイン...

Node.jsを理解するのはとても簡単です

目次Node.js の公式紹介Node.jsのコア開発言語ウェブ上の JavaScript と No...

MySQL ページングパフォーマンスの調査

一般的なページング方法: 1. エスカレーター方式エスカレーター方式では通常、前のページ/次のページ...

CSS 表示属性のインラインブロックレイアウト実装の詳細な説明

CSS 表示プロパティ注: !DOCTYPE が指定されている場合、Internet Explore...

Fabric.js は DIY ポストカード機能を実装します

この記事では、DIYポストカード機能を実現するためのfabricjsの具体的なコードを参考までに共有...