DATAS:[ { ID: 1000 、 名称: "帅哥" 、 タイトル: '...' 、 B: '...' 、 D: 0 、 F: 0 、 ... }、 { ID: 1001 、 名前: "美女" 、 タイトル: '...' 、 B: '...' 、 D: 0 、 F: 0 、 ... }、 ... ]
上:バックグラウンドでの戻りデータは役に立たない大量のデータを含むことができ、それが影響し、アプレットがインタフェースをレンダリングするときに、データの量が多すぎますか?
答えは次のとおりです。そこ
通常、我々はwxmlサイクルデータであり、その後、私たちは私たちに関係のない分野、およびその他のデータを削除する必要があります。しかし、非常に多くの言葉で小さなプログラムのドキュメントがあります:
setDataメソッドは、それがパフォーマンスの問題のインタフェースにつながる可能性が最も高い、最も頻繁に使用されるインタフェースを開発するための小さなプログラムです。一般的なミスの使用を導入する前に、簡単にsetDataメソッドの背後にある動作原理を説明します。
ワークス
レンダリングのWebViewとして表示層アプレットは、現在のキャリアを使用し、論理層は、独立したJavaScriptCoreにおける動作環境として作られています。フレームワーク、およびWebViewのJavaScriptCoreにおける内に独立したモジュールであり、それは直接共有データチャネルを有していません。現在、ビュー層と層のデータ転送ロジック、実際には、両側に設けられevaluateJavascriptによって達成しました。すなわち、JSのスクリプトにまとめユーザデータ送信、文字列に変換する送信ニーズ、及び変換されたコンテンツデータ、及びその後JSのスクリプトの独立した実行の形で両側に環境に渡されます。
evaluateJavascriptは、多くの面で影響を受ける可能性が実行は、ビュー層データをリアルタイムに到着していません。
JSスクリプトに従ってページをレンダリングするために実際には、我々のsetDataすべてのデータは、文字列に文字列を回しされているし、その後JSスクリプトに変換し、ページ。私たちが行うことができるようにすることは、新しいTempDataをした後、その後setDtaこのTempDataを最善であるように、このとは逆に戻り、バックグラウンドデータのこの長いリストは、データはマイクロ手紙を改善するために取り出される時に、データの伝送を最小限にありますページレンダリング速度アプレット、アプレットマイクロチャネル運用効率をアップグレードするには、ユーザーエクスペリエンスのマイクロチャネルアプレットを最適化します。
それは書くことができます。
TempDataをは=せて[] のための(I 0 =せ; I <datas.length; iは++ ){ tempObjせ = { ID:DATASを[I] .ID、 名前:DATAS [I] .nameの } tempData.push(tempObj) } console.log(TempDataを)
また、高階関数はマップを使用することができます:
せtempDatas = datas.map(データ=> { リターン{ ID:data.id、 名前:data.name } }) はconsole.log(tempDatas)
この時点で、我々はsetDataメソッドを使用します({})レンダリングの効率を向上させることができます
同時に、再び2つのヒントを共有するためのsetData
図1は、次のようにオブジェクトが存在します。
OBJ:{ : "" 、 B: "B" 、 C: "C" }
この時点で、ページにレンダリングされ、その後、私たちがobjを変更されている、あなたが選択することができます。
①通常の練習:
OBJ =せ、この.data.obj obj.b = "私はそれ以降変更された" この.setData({ OBJ:OBJ })
②しかし、より最適なアプローチがあります
この.setData({ 'obj.b': "私はそれ以降変更されました" })
2行のコードを節約するだけでなく、ページのレンダリングの効率を向上させるだけでなく、
2、配列オブジェクトに類似する配列は、データアレイの一つは、米国を与えるように改変することができる場合、であり、我々は、上記の方法を参照することができます
この.setData({ '配列[1]': "私はそれ以降変更されました" })
我々は、変更するデータの複数のアレイを与える場合、我々は、ループを記述し、その後配列を変更し、これは形で書き込まれる、認識されなかったであろう
以下のために(私は=せ0; I <5; I ++ ){ この.setData({ [ `配列[ $ {I} ]`]: "私はそれ以降変更されました" }) }
オリジナル住所:https://blog.csdn.net/rolan1993/article/details/81738613