小さなプログラムの開発プロセスでは、現在のページのデータを前のページに渡す必要があることがよくありますが、wx.navigateBack() ではデータを渡すことができません。
一般的な方法は、現在のページのデータをローカル キャッシュに入れてから、前のページをキャッシュから取り出すことです。
さらに、ページスタックを賢く利用する別の方法があります。
getCurrentPages() 関数は、スタックの順序で配列の形式で与えられる現在のページ スタックのインスタンスを取得するために使用されます。最初の要素はホームページで、最後の要素は現在のページです。
ここが重要なポイントで、現在のページで前のページのインスタンス オブジェクトを取得し、そのオブジェクトのメソッドを呼び出してデータ転送を完了します。
ページA
Page({ data: { name: '' }, ... , //更新name changeData: function(name){ this.setData({ name: name }) }})
ページB、名前を入力するテキストボックスがあるとして、戻るボタンをクリックしてページA
Page({ //此方法用于文本框输入回调 inputTyping: function (e) { //获取页面栈 var pages = getCurrentPages(); if(pages.length > 1){ //上一个页面实例对象 var prePage = pages[pages.length - 2]; //关键在这里 prePage.changeData(e.detail.value) } }})
の名前を更新します。このようにして、前のページにデータを渡すことができます。ページ A は wx .navigateTo を使用してページ B にジャンプする必要があることに注意してください。wx.redirectTo を使用すると、前のページが閉じられ、ページ B は前のページの Page インスタンスを取得できなくなります。
【関連推奨事項】
1. WeChatパブリックアカウントプラットフォームのソースコードダウンロード
3. WeChat Lala Takeaway 2.2.4の復号化されたオープンソースバージョンWeChatルービックキューブのソースコード
以上がWeChat開発入門 (11) 前ページのデータを更新するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。