検索
ホームページウェブフロントエンドuni-appuniapp でルーティングを使用するためのヒント

uniapp でルーティングを使用するためのヒント

ユニアプリでルーティングを使用するためのヒント

1. 概要
ユニアプリ開発では、ルーティングは非常に重要な側面であり、ジャンプページとページ間のルーティングを実現できます。パラメータを渡します。この記事では、uniapp でのルーティングの使用スキルを紹介し、具体的なコード例を示します。

2. uniapp ルーティングの基本的な使用法
uniapp では、ルーティングの基本的な使用法を使用して、uni.navigateTo、uni.redirectTo、uni.reLaunch、uni.switchTab などの API を介してページにジャンプできます。 、など。これらの API の使用シナリオは若干異なり、具体的な使用方法はプロジェクトの要件によって異なります。

  1. uni.navigateTo: 新しいページを開いて現在のページを保持するために使用されます。通常のページジャンプに適しています。
    サンプルコード:

    uni.navigateTo({
     url: '/pages/detail/detail?id=1'
    });
  2. uni.redirectTo: 現在のページを閉じて、新しいページを開くために使用されます。前のページに戻る必要がないページジャンプに適しています。
    サンプル コード:

    uni.redirectTo({
     url: '/pages/home/home'
    });
  3. uni.reLaunch: すべてのページを閉じて、アプリケーション内のページを開きます。 QR コードをスキャンして他のプラットフォームからミニ プログラムに入るシナリオに適しています。
    サンプル コード:

    uni.reLaunch({
     url: '/pages/login/login'
    });
  4. uni.switchTab: tarBar ページにジャンプし、他の非 tarBar ページをすべて閉じます。下部のナビゲーション バーでページ間を移動するのに適しています。
    サンプルコード:

    uni.switchTab({
     url: '/pages/home/home'
    });

3. uniapp ルーティングパラメータの転送
uniapp では、URL パラメータを介してページ間でデータを転送できます。

  1. ページ間でのパラメータの受け渡し
    ページ A からページ B にジャンプするとき、URL パラメータを介してデータを渡すことができます。ページ A のジャンプ コードでは、パラメータは URL を結合することによって渡されます:

    uni.navigateTo({
     url: '/pages/detail/detail?id=' + id
    });

ページ B では、パラメータ値は uni.$route.query を通じて取得できます:

onLoad() {
    console.log(this.$route.query.id);
}
  1. ページが戻ったときにパラメータを渡す
    uniapp では、uni.navigateBack メソッドを通じて前のページに戻り、前のページの onBack メソッドを呼び出してパラメータを渡すことができます。具体的なコードは次のとおりです。
    ページAで、ページBにジャンプするときにパラメータを渡し、前のページのonBackメソッドを登録します。

    uni.navigateTo({
     url: '/pages/detail/detail?id=' + id + '&callback=onBack'
    });

ページBで、Getパラメータ値を指定し、ページが戻ってパラメータを渡すときに前のページの onBack メソッドを呼び出します。

methods: {
    goBack() {
        uni.navigateBack({
            delta: 1,
            success: () => {
                uni.getOpenerEventChannel().emit(this.asr_notify);
            }
        });
    }
}

ページ A で、onBack メソッドを登録し、パラメータを受け取ります。

methods: {
    onBack(data) {
        console.log(data);
    }
}

4 . uniapp routing インターセプトと権限の制御
開発プロセス中、ログインしていないユーザーが特定のページにアクセスできないように、特定のページの権限を制御する必要がある場合があります。

uniapp では、ナビゲーション ガードを通じてルーティング インターセプトと許可制御を実装できます。具体的なコードは次のとおりです。

  1. main.js ファイルでグローバル ルート インターセプターを作成します。

    // 全局路由拦截器
    router.beforeEach((to, from, next) => {
     const token = uni.getStorageSync('token');
     if (to.meta.requiresAuth && !token) { // 判断是否需要登录才能查看页面
         next('/pages/login/login');
     } else {
         next();
     }
    });
  2. ページで次のように構成します。権限制御が必要です ルーティング メタ情報:

    export default {
     meta: {
         requiresAuth: true // 需要登录才能访问
     }
     // 省略其他代码...
    }

上記の操作により、アクセスにログインが必要なページに権限制御を実装できます。ログインしていないユーザーはインターセプトされ、次のページにジャンプします。ログインページ。

概要:
この記事では、uniapp でのルーティングの基本的な使用法、パラメーターの受け渡し方法、ルーティングのインターセプト、およびアクセス許可の制御について紹介します。ルーティングを適切に使用することで、ページ間のジャンプやデータ転送が実現され、アプリケーションのユーザー エクスペリエンスが向上します。

この記事が uniapp ルーティングの使用に役立つことを願っています。

以上がuniapp でルーティングを使用するためのヒントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
さまざまなプラットフォーム(モバイル、Webなど)で問題をどのようにデバッグしますか?さまざまなプラットフォーム(モバイル、Webなど)で問題をどのようにデバッグしますか?Mar 27, 2025 pm 05:07 PM

この記事では、モバイルプラットフォームとWebプラットフォームのデバッグ戦略について説明し、Android Studio、Xcode、Chrome Devtoolsなどのツールを強調し、OSとパフォーマンスの最適化全体で一貫した結果を得るためのテクニックについて説明します。

UNIAPP開発に利用できるデバッグツールは何ですか?UNIAPP開発に利用できるデバッグツールは何ですか?Mar 27, 2025 pm 05:05 PM

この記事では、Hbuilderx、Wechat開発者ツール、Chrome Devtoolsなどのツールに焦点を当てたUniapp開発のためのデバッグツールとベストプラクティスについて説明します。

UNIAPPアプリケーションのエンドツーエンドテストをどのように実行しますか?UNIAPPアプリケーションのエンドツーエンドテストをどのように実行しますか?Mar 27, 2025 pm 05:04 PM

この記事では、複数のプラットフォームにわたるUNIAPPアプリケーションのエンドツーエンドテストについて説明します。テストシナリオの定義、Appiumやサイプレスなどのツールの選択、環境のセットアップ、テストの書き込みと実行、結果の分析、インテグラートをカバーします

UNIAPPアプリケーションで実行できるさまざまなタイプのテストは何ですか?UNIAPPアプリケーションで実行できるさまざまなタイプのテストは何ですか?Mar 27, 2025 pm 04:59 PM

この記事では、ユニット、統合、機能、UI/UX、パフォーマンス、クロスプラットフォーム、セキュリティテストなど、UNIAPPアプリケーションのさまざまなテストタイプについて説明します。また、クロスプラットフォームの互換性を確保し、JESのようなツールを推奨しています

Uniappの一般的なパフォーマンスアンチパターンは何ですか?Uniappの一般的なパフォーマンスアンチパターンは何ですか?Mar 27, 2025 pm 04:58 PM

この記事では、過剰なグローバルデータの使用や非効率的なデータバインディングなど、UNIAPP開発における一般的なパフォーマンスアンチパターンについて説明し、これらの問題を特定して緩和してアプリのパフォーマンスを向上させる戦略を提供します。

プロファイリングツールを使用して、UNIAPPでパフォーマンスボトルネックを識別するにはどうすればよいですか?プロファイリングツールを使用して、UNIAPPでパフォーマンスボトルネックを識別するにはどうすればよいですか?Mar 27, 2025 pm 04:57 PM

この記事では、プロファイリングツールを使用して、Uniappのパフォーマンスボトルネックを識別および解決し、セットアップ、データ分析、最適化に焦点を当てています。

Uniappでネットワークリクエストを最適化するにはどうすればよいですか?Uniappでネットワークリクエストを最適化するにはどうすればよいですか?Mar 27, 2025 pm 04:52 PM

この記事では、Uniappでネットワーク要求を最適化するための戦略について説明し、遅延の削減、キャッシュの実装、および監視ツールを使用してアプリケーションのパフォーマンスを向上させることに焦点を当てています。

UniappのWebパフォーマンスのために画像を最適化するにはどうすればよいですか?UniappのWebパフォーマンスのために画像を最適化するにはどうすればよいですか?Mar 27, 2025 pm 04:50 PM

この記事では、圧縮、レスポンシブデザイン、怠zyなロード、キャッシング、およびWebP形式の使用を通じて、Webパフォーマンスを向上させるために、Uniappの画像の最適化について説明します。

See all articles

ホット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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

SublimeText3 中国語版

SublimeText3 中国語版

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

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター