WeChat アプレットの開発では、ページ間のデータ転送や相互影響の問題によく遭遇します。実際の開発プロセスでは、次のような方法でこれを実現できます。
グローバル変数の使用
グローバル変数は実際にグローバル オブジェクトを定義し、各ページで紹介されます。
コードを初期化するときに、アプレットは app.js ファイルを読み取り、必要なグローバル変数を定義できます。
次に、ページ内で getApp() メソッドを通じてグローバル アプリケーション オブジェクトを取得し、グローバル変数の読み取りと変更を行うことができます。
app.js はプロジェクトの基本的な構成に使用されるため、構成のためにここに多くの変数を配置することはお勧めできません。一般に、いくつかの永続定数がここで設定されます。この方法は、頻繁に変更する必要がある量にはお勧めできません。 ローカル キャッシュを使用する
ローカル キャッシュは WeChat アプレットによって提供される機能です。
ユーザーが生成したデータをローカルに永続化できますNoSQL と同様に読み取りが実行できますそして操作を変更します。 それでは、これを使用して異なるページ間でデータを操作するにはどうすればよいでしょうか?
ユーザーの情報をページ A に保存するとします。
# これを行うと、データはローカルに保存されます。ページ B で必要な場合は、データ プール内のデータを直接取得して CRUD 操作を実行できます。
ページに到達すると が返されることに注意してください。 A、アプレットはデータを再読み取る必要があります
。このとき、ライフサイクルの onShow でデータをリロードすることを選択できます。親ページから子ページへのデータ転送 (テンプレート)
通常、ページ間をジャンプするリダイレクト操作を行います。現時点では、URL にデータを入れて、新しいページが onLoad になったときにそれを初期化することを選択できます。
D ページでは、次のように渡されたパラメータを受け取ることができます:
wx.navigateToおよび wx.redirect により、タブに含まれるページへのジャンプは許可されなくなり、wx.switchTab のみを使用してジャンプできます。 wx.switchTab の URL ではパラメータを渡すことができないことに注意してください。
WeChat で新たに提供された wx.reLaunch インターフェースはパラメータを渡すことができます。 さらに、通常はページ内でいくつかのコンポーネント テンプレートを使用するため、親と子の間で対応するデータ転送も行われます。 name 属性をテンプレートの名前として使用します。次に、ここで is 属性を使用して、使用する必要があるテンプレートを宣言します。次に、テンプレートに必要な次のようなデータを渡します。
テンプレートに渡されるデータ 変数は、イベント メソッド オブジェクト
にすることもできます。たとえば、テンプレート内のクリック イベントは、テンプレートを使用して要素に渡すことができます。ページ オブジェクトを取得してデータ操作を実行する
このメソッドの本質は、他のページのオブジェクト プロトタイプを取得し、プロトタイプ メソッド setData を使用してそのページでデータ操作を実行することです。現在のオブジェクト管理
を変更する例は次のとおりです。
次のページ F にジャンプした後、F にデータの変更が必要な操作があると仮定します。 E では、次のメソッドを使用できます。
このメソッドは、ページ スタック内のページのデータを操作できます。 により、下位レベルのページが上位ページグループのデータを管理します。
概要
WeChat アプレットでは、ページ間のデータ転送やインタラクションには上記の方法がありますが、これらに限定されるものではありません。実際のアプリケーションでは。例:
一部の定数は app.js で管理でき、永続化する必要がある量はローカルに保存できます。
下位ページまたはテンプレート要素に関連するデータは、パラメーターを渡すことによって渡すことができます。
レイヤーレベルのページは、スタック内のページ オブジェクトを取得することで、上位レベルのデータを迅速に変更できます。
実際のアプリケーションで併用すると、ミニ プログラムのデータをより適切に管理できます。
推奨事項: 「 ミニ プログラム開発チュートリアル 」
以上がWeChat アプレット ページ間でデータを転送するためのいくつかの方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。