検索
ホームページWeChat アプレットミニプログラム開発JS ライブラリを使用して、小さなプログラムでのクロスページ メッセージとデータ送信の問題を解決する方法について話しましょう

JS ライブラリを使用して、小さなプログラムでのクロスページ メッセージとデータ送信の問題を解決する方法について話しましょう

WeChat アプレットの wx.navigateBack メソッドは値を返すことをサポートしていないため、ページは戻った直後にデータを都合よく更新できません。

1. 要件分析

このタイプの要件は、大まかに意味します: ページ A がページ B に入り、ページ B が戻って A に値を渡す、またはイベントがトリガーされたときページ B では、ページ A にもイベントによってトリガーされる変更があります。

JS ライブラリを使用して、小さなプログラムでのクロスページ メッセージとデータ送信の問題を解決する方法について話しましょう

ビジネス分析

最初の方法: WeChat の wx.setStorage を使用して、ミニ プログラム インスタンスにデータをキャッシュします。ページ B からページ A に戻るとき、ページ B は最初にデータをキャッシュし、次にページ A の onshow メソッドで wx.getStorage を呼び出してキャッシュを読み取ります。しかし、それは将来のメンテナンスに多くの隠れた危険をもたらします。 (グローバル変数メソッドと同様)

Second: 前のページインスタンスを取得するメソッドでもこの機能を実装できます。コードの一部は次のとおりです:

JS ライブラリを使用して、小さなプログラムでのクロスページ メッセージとデータ送信の問題を解決する方法について話しましょう

#この方法の欠点: ページ B への入り口が多数ある可能性があるためです。そうすると、不正なページ インスタンスが取得される可能性があります。

2. メソッドの紹介

本題に入り、onfire.js() を紹介します

onfire.js は非常にシンプルなイベント配布ですシンプルで実用的なJavaScriptライブラリ(わずか0.9kb)。

1. 単純なイベント配信。

2. React、Vue.js、Angular でのクロスコンポーネントの軽量実装に使用されます。

3. イベントのサブスクリプションと公開。

使用上のアイデア: (モバイル開発を行ったことがある人は、これが iOS 通知や Android ブロードキャストに似ていることを知っています)

a.A ページは最初にイベントをサブスクライブし、処理メソッドを定義します。

#b. ページ B から戻ったら、メッセージを送信します;

c. ページ A がアンロードされたら、購読を解除します。

私の使用方法は次のとおりです:

A ページ コード:

JS ライブラリを使用して、小さなプログラムでのクロスページ メッセージとデータ送信の問題を解決する方法について話しましょう

A ページで onfire.on メソッドを直接呼び出して、 subscribe key という名前のメッセージ。上記のコードでは、メッセージに添付されたパラメータはパラメータなしで渡されます。

パラメータを渡す必要がある場合は、関数にパラメータを直接追加します。例:

JS ライブラリを使用して、小さなプログラムでのクロスページ メッセージとデータ送信の問題を解決する方法について話しましょう

これは onUnload (ページの読み込み時に) になければならないことに注意してください。は終了時間です)メッセージのサブスクライブを解除し、eventObj のバインドを解除します。

B ページのコードのコールバック領域に次のコードを追加します:

JS ライブラリを使用して、小さなプログラムでのクロスページ メッセージとデータ送信の問題を解決する方法について話しましょう

##3. 分析ライブラリ コード

このコードから、on メソッドをサブスクライブするときに、実際には _bind メソッドが呼び出されることがわかります。このメソッドは、2 次元配列を使用して、サブスクライブされたオブジェクトを保管します。

JS ライブラリを使用して、小さなプログラムでのクロスページ メッセージとデータ送信の問題を解決する方法について話しましょうFire メッセージ送信メソッドの本質は、_fire_func メソッドを呼び出し、名前 (キー) でサブスクライバを走査し、サブスクライバに通知することです。 un メソッドを呼び出して、名前 (キー) でサブスクライバーを走査し、サブスクライバーを見つけたら削除します。

推奨事項: 「

ミニ プログラム開発チュートリアル

以上がJS ライブラリを使用して、小さなプログラムでのクロスページ メッセージとデータ送信の問題を解決する方法について話しましょうの詳細内容です。詳細については、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ヘンタイを無料で生成します。

ホットツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 中国語版

SublimeText3 中国語版

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

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール