最近、グループで小さなプログラムを開発しているときに、フロントエンドで決して変わっていないトピックに遭遇しました: ページ 値の受け渡し
パラメーターを渡すためにパスを使い始めたばかりですが、皆さんご存知のように:
最大値HTTP Get リクエストの URL の長さはブラウザごとに異なりますが、一般的に使用されるいくつかのブラウザの最大長と、最大長を超えた後の送信状況は次のとおりです。
IE6.0: URL の最大長は 2083 文字であり、最大長を超えて送信することはできません。
IE7.0: URL の最大長は 2083 文字です。最大長を超えても送信できますが、渡せるのは 2083 文字までです。
firefox 3.0.3: URL の最大長は 7764 文字です。最大長を超えると送信できません。
Opera 9.52: URL の最大長は 7648 文字です。最大長を超えると送信できません。
Google Chrome 2.0.168: URL の最大長は 7713 文字です。最大長を超えると送信できません。
だから、頼りないと感じます。
公式ウェブサイトを調べた結果、これを「よりエレガントに」行う方法が 2 つあることがわかりました。もちろん、vuex/flux とは比較できません。
グローバル変数を使用する
プロジェクト内でapp.js
中定义globalData
App({ globalData:{ userInfo:'angeladaddy' } });
必要に応じて使用します:
getGlobalVar:function(){ var that=this; that.setData({ globalvar_str:JSON.stringify(getApp().globalData) }) }
もちろん、いつでも値を割り当てることもできます:
P aste_Image .png
onLoad:function(options){ getApp().globalData.userInfo+=' is an awesome man'; },ログイン後にコピー次に、テンプレートを使用します
is属性を使用して、使用する必要があるテンプレートを選択し、次のようなテンプレートで必要なデータを渡します。
- これにより、ページ値の転送の問題が解決されます。 「duang~~~」方法追記: 小さなプログラムはES6のすべての機能を使用できるため、var that=thisとは一体何ですか?スコープの問題を解決するためにアロー関数を使用できないのはなぜですか?あとでもう一度試してみてください。
<template name="msgItem"> <view> <text> {{index}}: {{msg}} </text> <text> Time: {{time}} </text> </view> </template>ログイン後にコピーテンプレート データを表示する項目に値を割り当てます
<template is="msgItem" data="{{...item}}"/>ログイン後にコピー【関連の推奨事項】1. WeChatミニプログラムの完全なソースコードダウンロード
2. WeChatミニプログラムゲームのデモは、さまざまなカラーブロックを選択します
以上がWeChatミニプログラムでのページ値転送の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。