目次
1. ルートbからルートcへジャンプ(ルートルートを基にジャンプ)
ホームページ ウェブフロントエンド jsチュートリアル navigateByUrl と Angular ルーティング ジャンプのナビゲートに関する簡単な説明

navigateByUrl と Angular ルーティング ジャンプのナビゲートに関する簡単な説明

Jul 22, 2021 am 10:53 AM
angular

この記事では、Angular NavigateByUrl と Router ルーティング ジャンプのナビゲートを紹介し、navigate() と navigateByUrl() の使用方法を説明します。

navigateByUrl と Angular ルーティング ジャンプのナビゲートに関する簡単な説明

実際の戦闘を始める前に、公式ドキュメントで navigateByUrl と navigate の概要を見てみましょう。 [関連チュートリアルの推奨事項: "angular チュートリアル"]

navigateByUrl():

定義: 指定された URL に基づいて移動します 絶対パスを使用する必要があります。
パラメータ: url (文字列 | UrlReee)、extras (ナビゲーション戦略を変更する一連のプロパティを含むオブジェクト)
戻り値: Promise を返します。ナビゲーションが成功した場合は true に解決され、ナビゲーションが失敗した場合やエラーが発生した場合は false に解決されます

ps: navigateByUrl の使用法と定義に関する公式の説明は非常に明確です。ただし、絶対パスと相対パスの定義の記憶が少し曖昧な場合は、小さな子供たちが再び Du Niang を探しに行く手間を省くために、直接例を示します。

E:\mySoft\Git\bin  // 绝对路径。从盘符开始
Git\bin  // 相对路径。从当前路径开始
ログイン後にコピー

navigate():

定義: 指定されたコマンド配列と起点ルートに基づいて移動します。始点ルートが指定されていない場合は、ルートルートから絶対ナビゲーションを開始します。

パラメータ:commands(any[])、extras
戻り値:Promiseを返します。ナビゲーションが成功した場合は true に解決され、ナビゲーションが失敗した場合は false に解決され、ナビゲーション エラーが発生した場合は拒否 (拒否) されます。

注目すべき点は、# の最初の部分です。 ##navigate 各パラメータは配列形式、つまり any[]

である必要があります。 トピックに戻り、関数に戻りますが、これら 2 つのメソッドは、Angular でジャンプをルーティングするために使用されます。次に、実際のプロジェクトで一般的な xxx の使用法を次に示します。1 つずつ見てみましょう~~


実際の戦闘では、まず 3 つのルートを定義します。 、bルート、cルート」。
これら 3 つのルートは兄弟ルートであり、すべてルート ディレクトリにあります。



navigateByUrl

路由a跳转到路由b
this.router.navigateByUrl('b');  // 正确。解析结果是 localhost:4200/b
this.router.navigateByUrl('./b');  // 错误。只能是绝对路径哦

路由b跳转到路由c
this.router.navigateByUrl('cascader', {});  // 解析结果是 localhost:4200/c
ログイン後にコピー
navigateByUrl の使用法は比較的シンプルで理解しやすく、使用方法も比較的単純です。 navigate~~

navigate

1. ルートbからルートcへジャンプ(ルートルートを基にジャンプ)

this.router.navigate(['c']);  // 绝对路径。 localhost:4200/c
this.router.navigate(['./c']);  // 相对路径。 localhost:4200/c
ログイン後にコピー
# の使い方を主に紹介します。 ##2. ルート b からルート c にジャンプ (現在のルートに基づいてジャンプ)

this.router.navigate(['c'],{ relativeTo:this.route });  // localhost:4200/b/c
this.router.navigate(['c',1],{ relativeTo:this.route });  // localhost:4200/b/c/1
ログイン後にコピー

3. ルート b からルート b にジャンプ (現在のルートに基づいてジャンプ) )

this.router.navigate([],{ relativeTo:this.route });  // localhost:4200/b
ログイン後にコピー

4 . ルート b からルート c にジャンプします (ジャンプするルートにアンカーポイントを渡します)

this.router.navigate(['c'],{ fragment:'zita' });  // localhost:4200/c#zita
	现在么,成功跳转到路由c了。我又想从路由c跳转到路由a(携带锚点跳转)
	this.router.navigate(['a'], { preserveFragment: true});  // localhost:4200/a#zita
ログイン後にコピー

5. ルート b からルート c にジャンプします (ジャンプするルートにパラメータを渡します) 転送)

this.router.navigate(['c'],{ queryParams:{name:'zita'} });  // localhost:4200/c?name=zita
	现在么,成功跳转到路由c了。我又想从路由c跳转到路由a,有以下五种情况:
	
	(1)不携带参数跳转
	this.router.navigate(['a'], { queryParamsHandling: null });  // localhost:4200/a
	(2)携带参数跳转
	this.router.navigate(['a'], { queryParamsHandling: 'merge'});  // localhost:4200/a?name=zita
	
	执行完以下三种情况的代码后,看到的页面是路由a的页面哦!
	(3)携带参数。浏览器中的URL不变,参数会失效即,在路由a中打印的参数结果是{}
	this.router.navigate(['a'], { skipLocationChange: true });  // localhost:4200/c?name=zita
	(4)携带参数。浏览器中的URL不变,参数有效。在路由a中打印的参数结果是{name: "zita"}
	this.router.navigate(['a'], {skipLocationChange: true, queryParamsHandling: 'merge'});  // localhost:4200/c?name=zita
	(5)携带参数。浏览器中的URL不变,参数有效,并且携带上其他参数。在路由a中打印的参数结果是{name: "zita",sex: "female"}
	this.router.navigate( ['a'], {skipLocationChange: true, queryParamsHandling: 'merge', queryParams: { sex: 'female' } });  // localhost:4200/c?name=zita
ログイン後にコピー

6. ルート b からルート c にジャンプします (ナビゲーション中、現在の状況は履歴に記録されません)

 在路由c中,点击浏览器的返回按钮,会忽略路由b而直接跳转回到路由b的上一层路由
this.router.navigate(['c'],{ replaceUrl:true });  // localhost:4200/c
ログイン後にコピー

最後に、かわいい子たち ~navigateByUrl と Angular ルーティング ジャンプのナビゲートに関する簡単な説明

ルーティングを使用するときはルーターを導入することを忘れないでください~~

import { Router } from '@angular/router';
constructor( private router: Router) { }
ログイン後にコピー

さらに、渡されたパラメータを出力したい場合、コード スニペットは次のとおりです:

import { Router, ActivatedRoute, Params } from '@angular/router';
ngOnInit() {
    this.route.queryParams.subscribe((params: Params) => {
      console.log(params);
    });
}
ログイン後にコピー

happyEnding…

プログラミング関連の知識について詳しくは、

プログラミング入門

をご覧ください。 !

以上がnavigateByUrl と Angular ルーティング ジャンプのナビゲートに関する簡単な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Angular のメタデータとデコレータについて話しましょう Angular のメタデータとデコレータについて話しましょう Feb 28, 2022 am 11:10 AM

この記事では、Angular の学習を継続し、Angular のメタデータとデコレータを理解し、それらの使用法を簡単に理解します。

Ubuntu 24.04 に Angular をインストールする方法 Ubuntu 24.04 に Angular をインストールする方法 Mar 23, 2024 pm 12:20 PM

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

Angular Learning State Manager NgRx の詳細な説明 Angular Learning State Manager NgRx の詳細な説明 May 25, 2022 am 11:01 AM

この記事では、Angular のステートマネージャー NgRx について深く理解し、NgRx の使用方法を紹介します。

Angular で Monaco エディターを使用する方法の簡単な分析 Angular で Monaco エディターを使用する方法の簡単な分析 Oct 17, 2022 pm 08:04 PM

Angularでモナコエディタを使用するにはどうすればよいですか?以下の記事は、最近業務で使用したangularでのmonaco-editorの使い方を記録したものですので、皆様のお役に立てれば幸いです。

Angular のサーバーサイド レンダリング (SSR) について説明する記事 Angular のサーバーサイド レンダリング (SSR) について説明する記事 Dec 27, 2022 pm 07:24 PM

Angular Universal をご存知ですか?これは、Web サイトがより優れた SEO サポートを提供するのに役立ちます。

Angular + NG-ZORRO でバックエンド システムを迅速に開発 Angular + NG-ZORRO でバックエンド システムを迅速に開発 Apr 21, 2022 am 10:45 AM

この記事では、Angular の実践的な経験を共有し、angualr と ng-zorro を組み合わせてバックエンド システムを迅速に開発する方法を学びます。

フロントエンド開発に PHP と Angular を使用する方法 フロントエンド開発に PHP と Angular を使用する方法 May 11, 2023 pm 04:04 PM

インターネットの急速な発展に伴い、フロントエンド開発テクノロジーも常に改善され、反復されています。 PHP と Angular は、フロントエンド開発で広く使用されている 2 つのテクノロジーです。 PHP は、フォームの処理、動的ページの生成、アクセス許可の管理などのタスクを処理できるサーバー側スクリプト言語です。 Angular は、単一ページ アプリケーションの開発やコンポーネント化された Web アプリケーションの構築に使用できる JavaScript フレームワークです。この記事では、PHPとAngularをフロントエンド開発に使用する方法と、それらを組み合わせる方法を紹介します。

Angular の独立したコンポーネントの簡単な分析とその使用方法を説明します。 Angular の独立したコンポーネントの簡単な分析とその使用方法を説明します。 Jun 23, 2022 pm 03:49 PM

この記事では、Angular の独立コンポーネント、Angular で独立コンポーネントを作成する方法、および既存のモジュールを独立コンポーネントにインポートする方法について説明します。

See all articles