uniappでジャンプメソッドをカプセル化する方法
uniapp アプリケーションの開発プロセスでは、ログイン ページ、パーソナル センター ページなどに入るなど、さまざまなページにジャンプする必要があることがよくあります。開発を容易にするために、ページジャンプを統一的に管理するジャンプメソッドをカプセル化することができますので、この記事ではuniappでジャンプメソッドをカプセル化する方法を紹介します。
1. カプセル化されたジャンプ メソッド
- 新しい util.js ファイルを作成してカプセル化されたメソッドを保存し、そのファイル内に navigateTo という名前のメソッドを定義します。このメソッドは 2 つのパラメーターを受け取ります。最初のパラメーターはターゲット ページのパス、2 番目のパラメーターは渡す必要のあるデータです。このうち、path パラメーターは必須であり、データはオプションです。
// util.js export function navigateTo(url, data = {}) { uni.navigateTo({ url: `${url}?${getObjectKeys(data) .map(key => `${key}=${data[key]}`) .join('&')}` }); } function getObjectKeys(obj) { return Object.keys(obj); }
- メソッドでは、getObjectKeys を使用してデータ オブジェクト内のすべてのキー名を取得し、次に、map メソッドと join メソッドを使用してキーと値のペアを文字列に結合します。ここで、map メソッドと join メソッドを簡単に紹介します:
map() メソッドは新しい配列を作成し、その結果は、配列内の各要素が指定された関数を呼び出した後に返される結果です。
join() メソッドは、配列内のすべての要素 (文字列の場合は直接出力、配列とオブジェクトの場合は文字列に変換) を文字列に変換し、その要素を連結します。文字列を単一の文字列に変換します。また、配列内の要素を区切るための区切り文字として文字列を指定できます。
- 最後に、他のモジュールで使用できるようにこのメソッドをエクスポートします。
2. カプセル化されたジャンプ メソッドを使用する
- ターゲット ページにジャンプする必要がある場合は、カプセル化された navigateTo メソッドを呼び出します。
//index.vue import { navigateTo } from '@/utils/util.js'; // 模拟获取用户登录状态 const isLogin = true; export default { methods: { goLogin() { if (!isLogin) { navigateTo('/pages/login/login'); // 跳转到登录页面 } else { navigateTo('/pages/personal/personal'); // 跳转到个人中心页面 } } } }
- 上記の例では、isLoginの値に基づいてユーザーがログインしているかどうかを判断し、ログインしていない場合はログインページにジャンプします。で、個人のセンターページにジャンプします。
これまでのところ、ジャンプ メソッドを正常にカプセル化し、それを他のコンポーネントで使用することができました。このようにして、複雑なページ ジャンプ ロジックによって引き起こされるコードの混乱を回避し、コードの可読性と保守性を向上させることができます。
3. メソッドの最適化
ジャンプ メソッドをカプセル化しましたが、完全ではなく、いくつかの欠陥がまだあります。たとえば、ターゲット ページが複数のパラメータを渡す必要がある場合、パラメータを手動で結合する必要がありますが、これはさらに面倒です。この問題を解決するには、梱包方法を最適化することができます。
- パラメータをオブジェクトに渡します:
// index.vue export default { methods: { goDetail() { navigateTo('/pages/detail/detail', { id: 123, name: 'uniapp封装跳转方法' }); } } }
- navigateTo メソッドを変更し、JSON.stringify() を使用してパラメータ オブジェクトを JSON 文字列に変換します。それをエンコードして、クエリ文字列の値としてターゲット ページに渡します。
// util.js export function navigateTo(url, data = {}) { uni.navigateTo({ url: `${url}?data=${encodeURIComponent(JSON.stringify(data))}` }); }
- ターゲット ページがパラメータを取得した後、JSON.parse() を使用してパラメータを js に変換します。オブジェクト:
// detail.vue export default { onLoad(options) { this.queryParams = JSON.parse(decodeURIComponent(options.data)); } }
これまでのところ、複数のパラメーターを迅速かつ便利に渡すためにジャンプ メソッドを最適化してきました。
つまり、jump メソッドをカプセル化すると、コードの可読性と保守性が向上するだけでなく、コードの記述がさらに簡素化されます。この記事が、uniapp をより良く学び、使用するのに役立つことを願っています。
以上がuniappでジャンプメソッドをカプセル化する方法の詳細内容です。詳細については、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)

ホットトピック









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

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

この記事では、コードの最適化、リソース管理、コード分割や怠zyなロードなどの手法に焦点を当てたUniappパッケージサイズを削減する戦略について説明します。

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

怠zyな読み込みは、サイトのパフォーマンスを改善し、負荷時間とデータの使用量を削減するための非批判的なリソースを扱います。重要なプラクティスには、重要なコンテンツの優先順位付けや効率的なAPIの使用が含まれます。

この記事では、Uniappの複雑なデータ構造の管理について説明し、Singleton、Observer、Factory、Stateなどのパターンに焦点を当て、VuexおよびVue 3 Composition APIを使用してデータ状態の変更を処理するための戦略について説明します。

Uniappは、Manifest.jsonを介してグローバル構成を管理し、app.vueまたはapp.scssを介してスタイリングを管理し、変数とミキシンにuni.scssを使用します。ベストプラクティスには、SCS、モジュラースタイル、レスポンシブデザインの使用が含まれます。

Vue.jsから派生したUniappの計算プロパティは、リアクティブで再利用可能な、最適化されたデータ処理を提供することにより、開発を強化します。依存関係が変更されたときに自動的に更新され、パフォーマンスの利点を提供し、国家管理を簡素化します
