Angular でのルーティングについて話しましょう
この記事では、Angular でのルーティングについて紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。
#環境:Angular CLI: 11.0.6
- Angular: 11.0.7
- ノード: 12.18.3
- npm : 6.14.6
- IDE: Visual Studio コード
1.概要
簡単に言えば、アドレスバーでは、異なるアドレス (URL) が異なるページに対応します。これがルーティングです。また、ブラウザの「進む」ボタンと「戻る」ボタンをクリックすると、ブラウザはルーティングに基づいて閲覧履歴を前後に移動します。 [関連チュートリアルの推奨事項: "angular チュートリアル "]
Angular では、Router は独立したモジュールであり、@angular/router モジュールで定義されています。- #Router は NgModule と連携して、モジュールの遅延ロード (遅延ロード) およびプリロード操作を実行できます (「Angular 入門からマスタリー シリーズ チュートリアル (11) - モジュール (NgModule)、遅延ロード モジュール」を参照);
- ルーターはコンポーネントのライフサイクルを管理し、コンポーネントの作成と破棄を担当します。
- 新しい AngularCLI ベースのプロジェクトの場合、初期化中のオプションを使用して、デフォルトで AppRoutingModule を app.component.ts に追加できます。
2.1. 準備まず 2 つのページを作成しますルーティングの使用法を説明するには、次のようにします。
ng g c page1 ng g c page2
上記の AnuglarCLI コマンドを使用して、Page1Component と Page2Component という 2 つのコンポーネントを作成します。
2.2. ルートの登録//src\app\app-routing.module.ts
const routes: Routes = [
{
path: 'page1',
component: Page1Component
},
{
path: 'page2',
component: Page2Component
},
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule],
})
export class AppRoutingModule {}
2.3. html での使用法<a routerLink="page1">Page1</a> |
<a routerLink="page2">Page2</a>
2.4. ts コードでの使用法ts のビジネス ロジックに基づいてジャンプする必要がある場合があります。 。 ts では、
constructor(private router: Router) {}
ジャンプ コード:
// 跳转到 /page1 this.router.navigate(['/page1']); // 跳转到 /page1/123 this.router.navigate(['/page1', 123]);
# 3.1 . パスのパラメータ
一般的に言えば、ID が 1 のユーザーを表す /users/1 などの URL 内のセグメントとしてパラメータを使用します。ルートは「/users /id」スタイルとして定義されます。
たとえば、単純なページの場合、page1 ページは id パラメーターを渡すことができるため、ルーティングを次のように変更する必要があります。const routes: Routes = [ { path: 'page1/:id', //接收id参数 component: Page1Component, }, { // 实现可选参数的小技巧。 这个routing处理没有参数的url path: 'page1', redirectTo: 'page1/', // 跳转到'page1/:id' }, { path: 'page2', component: Page2Component, }, ];
constructor(private activatedRoute: ActivatedRoute) {} ngOnInit(): void { this.activatedRoute.paramMap.subscribe((params) => { console.log('Parameter id: ', params.get('id')); // 地址 http://localhost:4200/page1/33 // 控制台输出:Query Parameter name: 33 // 地址 http://localhost:4200/page1/ // 控制台输出:Query Parameter name: (实际结果为undefined) }); }
パラメータを記述する別の方法があります。 http:// localhost:4200/?name=cat など、URL アドレスの後に疑問符「?」を追加し、パラメータ名とパラメータ値 (「name=cat」) を追加します。これをクエリパラメータ(QueryParameter)といいます。
このクエリ パラメーターを取得する場合、paramMap が queryParamMap に変更されることを除いて、前のルーティング パラメーターと同様です。コードは次のとおりです:this.activatedRoute.queryParamMap.subscribe((params) => { console.log('Query Parameter name: ', params.get('name')); // 地址 http://localhost:4200/page1?name=cat // 控制台输出:Query Parameter name: cat // 地址 http://localhost:4200/page1/ // 控制台输出:Query Parameter name: (实际结果为undefined) });
4. URL パスの表示format
従来の純粋な静的 (html) サイトとは異なり、angular の URL は実際のファイル (ページ) に対応しません。これは、angular がルーティング (ルーティング) 処理を引き継いで、どのコンポーネントにアクセスするかを決定するためです。エンドユーザーに表示します。さまざまなシナリオに適応するために、Angular の URL パス表示形式には 2 つの形式があります:
#http://localhost:4200/page1/123- http://localhost:4200/#/page1/123
- # を追加しない最初のものがデフォルトです。必要に応じて、 useHash: true
// app-routing.ts @NgModule({ imports: [RouterModule.forRoot(routes, { useHash: true })], exports: [RouterModule], })
5) デプロイメント中に発生した問題#同様に、anuglar がルーティング (Routing) 処理を引き継ぐため、iis や nginx などのサーバーにデプロイする場合は、さまざまなテクニック (要件) が必要になります。詳細な参考情報: https://github.com /angular- ui/ui-router/wiki/Frequently-Asked-Questions#how-to-configure-your-server-to-work-with-html5mode
6. 概要
angular はデフォルトではオプションのルーティング (例: /user/:id?) をサポートしていませんが、同じコンポーネントを指す 2 つのルートを定義してこれを実現し、コードの再利用を実現できます (または redirectTo を使用します)。
useHash パラメータを使用して、通常のパスの前に # を追加できます。
パラメータを読み取るときは、サブスクライブする必要があります。直接読み取ることはできません。
パッケージ化後の展開の問題については、公式 Wi-Fi (https://github.com/angular-ui/ui-router/wiki/Frequently-Asked-Questions#how-to-configure-) を確認してください。 your-server-to-work-with-html5mode)
プログラミング関連の知識の詳細については、プログラミング入門をご覧ください。 !
以上がAngular でのルーティングについて話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Angular.js は、動的アプリケーションを作成するための無料でアクセスできる JavaScript プラットフォームです。 HTML の構文をテンプレート言語として拡張することで、アプリケーションのさまざまな側面を迅速かつ明確に表現できます。 Angular.js は、コードの作成、更新、テストに役立つさまざまなツールを提供します。さらに、ルーティングやフォーム管理などの多くの機能も提供します。このガイドでは、Ubuntu24 に Angular をインストールする方法について説明します。まず、Node.js をインストールする必要があります。 Node.js は、ChromeV8 エンジンに基づく JavaScript 実行環境で、サーバー側で JavaScript コードを実行できます。ウブにいるために

Angular フレームワークのコンポーネントのデフォルトの表示動作は、ブロックレベルの要素ではありません。この設計の選択により、コンポーネント スタイルのカプセル化が促進され、開発者が各コンポーネントの表示方法を意識的に定義することが促進されます。 CSS プロパティの表示を明示的に設定することで、Angular コンポーネントの表示を完全に制御して、目的のレイアウトと応答性を実現できます。

Slim フレームワークで API ルーティングを実装する方法 Slim は、Web アプリケーションを構築するためのシンプルかつ柔軟な方法を提供する軽量の PHP マイクロフレームワークです。主な機能の 1 つは API ルーティングの実装で、これにより、さまざまなリクエストを対応するハンドラーにマッピングできるようになります。この記事では、Slim フレームワークで API ルーティングを実装する方法を紹介し、いくつかのコード例を示します。まず、Slim フレームワークをインストールする必要があります。 Slim の最新バージョンは Composer を通じてインストールできます。ターミナルを開いて、

Apache Camel は、異種のアプリケーション、サービス、データ ソースを簡単に統合して、複雑なビジネス プロセスを自動化できる Enterprise Service Bus (ESB) ベースの統合フレームワークです。 ApacheCamel はルートベースの構成を使用して、統合プロセスを簡単に定義および管理します。 ApacheCamel の主な機能は次のとおりです。 柔軟性: ApacheCamel は、さまざまなアプリケーション、サービス、データ ソースと簡単に統合できます。 HTTP、JMS、SOAP、FTP などの複数のプロトコルをサポートします。効率: ApacheCamel は非常に効率的で、大量のメッセージを処理できます。非同期メッセージング メカニズムを使用しているため、パフォーマンスが向上します。拡張可能

ルーティングを使用して Vue プロジェクトでページ切り替えアニメーション効果をカスタマイズするにはどうすればよいですか?はじめに: Vue プロジェクトでは、ルーティングはよく使用する機能の 1 つです。ページ間の切り替えはルーティングを通じて実現でき、優れたユーザー エクスペリエンスを提供します。ページの切り替えをより鮮やかにするには、アニメーション効果をカスタマイズすることで実現できます。この記事では、ルーティングを使用して Vue プロジェクトでページ切り替えアニメーション効果をカスタマイズする方法を紹介します。 Vue プロジェクトの作成 まず、Vue プロジェクトを作成する必要があります。 VueCLI を使用して迅速にビルドできます

認証は、Web アプリケーションの最も重要な部分の 1 つです。このチュートリアルでは、トークンベースの認証システムと、それが従来のログイン システムとどのように異なるかについて説明します。このチュートリアルを終えると、Angular と Node.js で書かれた完全に動作するデモが表示されます。従来の認証システム トークンベースの認証システムに進む前に、従来の認証システムを見てみましょう。ユーザーはログイン フォームにユーザー名とパスワードを入力し、[ログイン] をクリックします。リクエストを行った後、データベースにクエリを実行してバックエンドでユーザーを認証します。リクエストが有効な場合、データベースから取得したユーザー情報を使用してセッションが作成され、セッション情報が応答ヘッダーで返され、セッション ID がブラウザに保存されます。対象となるアプリケーションへのアクセスを提供します。

ThinkPHP6 は、URL ルーティング設定を簡単に実装できる便利なルーティング機能を備えた強力な PHP フレームワークであり、同時に GET、POST、PUT、DELETE などのさまざまなルーティング モードもサポートしています。この記事では、ThinkPHP6 を使用してルーティング設定を行う方法を紹介します。 1. ThinkPHP6 ルーティングモードの GET メソッド: GET メソッドはデータを取得するためのメソッドであり、ページの表示によく使用されます。 ThinkPHP6 では、次のものが使用できます。

最新の Web アプリケーションでは、Web ページのナビゲーションとルーティングの実装は非常に重要な部分です。 JavaScript 関数を使用してこの関数を実装すると、Web アプリケーションをより柔軟でスケーラブルで使いやすいものにすることができます。この記事では、JavaScript 関数を使用して Web ページのナビゲーションとルーティングを実装する方法を紹介し、具体的なコード例を示します。 Web ページ ナビゲーションの実装 Web アプリケーションの場合、Web ページ ナビゲーションはユーザーが最も頻繁に操作する部分です。ユーザーがページをクリックしたとき
