WeChat アプレットでリストをレンダリングするための多層ネストされたループを実装する方法

不言
リリース: 2018-08-10 14:01:28
オリジナル
3394 人が閲覧しました

この記事の内容は、WeChat アプレットでリストをレンダリングするための多層ネストされたループを実装する方法についてです。必要な友人が参考になれば幸いです。

前書き

現在の公式ドキュメントでは、主に 1 次元配列のリスト レンダリングの場合が中心で、まだ比較的単純で、まだ存在しているように感じます。始めたばかりの子供にとっては始める方法ではありません。

<view wx:for="{{items}}">
  {{index}}: {{item.message}}</view>
ログイン後にコピー

動的二次元配列のリストレンダリングではなく、データを直接 wxml に書き込む九九もあります。

<view wx:for="{{[1, 2, 3, 4, 5, 6, 7, 8, 9]}}" wx:for-item="i">
  <view wx:for="{{[1, 2, 3, 4, 5, 6, 7, 8, 9]}}" wx:for-item="j">
    <view wx:if="{{i <= j}}">
      {{i}} * {{j}} = {{i * j}}
    </view>
  </view></view>
ログイン後にコピー

ということで、今日は主に動的多次元配列とオブジェクト混合リストのレンダリングについてお話します。
WeChat アプレットでリストをレンダリングするための多層ネストされたループを実装する方法

多次元配列とオブジェクトの混合とは何かを説明します

、非常に簡単な例を挙げてください

 twoList:[{
                id:1,
                name:&#39;应季鲜果&#39;,                count:1,
                twodata:[{                    &#39;id&#39;:11,                    &#39;name&#39;:&#39;鸡脆骨&#39;
                },{                    &#39;id&#39;:12,                    &#39;name&#39;:&#39;鸡爪&#39;
                }]
        },{
                id:2,
                name:&#39;精致糕点&#39;,                count:6,
                twodata:[{                    &#39;id&#39;:13,                    &#39;name&#39;:&#39;羔羊排骨一条&#39;
                },{                    &#39;id&#39;:14,                    &#39;name&#39;:&#39;微辣&#39;
                }]
        }]
ログイン後にコピー

上記の例は配列であり、これは私たちが日常の開発プロセスで頻繁に遭遇する JSON 形式です
配列 要素にはオブジェクトがあり、オブジェクトは配列オブジェクトの混合に属する属性に分割されます。おそらく、小さなプログラムに慣れていない子供たちは、この種の配列オブジェクトの混合に遭遇すると問題に遭遇するでしょう。

ループの 1 層

    oneList:[{                id:1,                name:&#39;应季鲜果&#39;,                count:1
        },{                id:2,                name:&#39;精致糕点&#39;,                count:6
        },{                id:3,                name:&#39;全球美食烘培原料&#39;,                count:12
        },{                id:4,                name:&#39;无辣不欢生猛海鲜&#39;,                count:5
        }]
ログイン後にコピー

JSON と混合された上記の配列オブジェクトは、wxml でループする方法を見てみましょう。まず、ページ上にレンダリングされるループのレンダリングを見てみましょう。
WeChat アプレットでリストをレンダリングするための多層ネストされたループを実装する方法

<view wx:for="{{oneList}}"  wx:key="id">
    {{index+1}}、{{item.name}}</view>
ログイン後にコピー

ビューのリストをループするために 2 つの中括弧が直接使用されていることがわかります。データをラップしない場合は、ビューもループすることを強調してください。ただし、循環させたいのはデータではなく、ここでの開発ツールは少し欺瞞的であることに注意してください。データが存在する限り、中括弧が必要です。
さらに、配列の現在の項目の添字変数名はデフォルトでindexに設定され、配列の現在の項目の変数名はデフォルトでitemに設定されます。同時に、ここでは配列変数名と配列の使用方法も示します。下付き文字。

第 2 レベルのループ
WeChat アプレットでリストをレンダリングするための多層ネストされたループを実装する方法

JSON コード

    twoList:[{
                id:1,
                name:&#39;应季鲜果&#39;,                count:1,
                twodata:[{                    &#39;id&#39;:11,                    &#39;name&#39;:&#39;鸡脆骨&#39;
                },{                    &#39;id&#39;:12,                    &#39;name&#39;:&#39;鸡爪&#39;
                }]
        },{
                id:2,
                name:&#39;精致糕点&#39;,                count:6,
                twodata:[{                    &#39;id&#39;:13,                    &#39;name&#39;:&#39;羔羊排骨一条&#39;
                },{                    &#39;id&#39;:14,                    &#39;name&#39;:&#39;微辣&#39;
                }]
        },{
                id:3,
                name:&#39;全球美食烘培原料&#39;,                count:12,
                twodata:[{                    &#39;id&#39;:15,                    &#39;name&#39;:&#39;秋刀鱼&#39;
                },{                    &#39;id&#39;:16,                    &#39;name&#39;:&#39;锡箔纸金针菇&#39;
                }]
        }]
ログイン後にコピー

wxml コード

    <view class="pad10" wx:for="{{twoList}}" wx:key="id">
            <view>
                {{index+1}}、{{item.name}}
            </view>
            <view wx:for="{{item.twodata}}" wx:for-item="twodata" wx:key="id">
                ----{{twodata.name}}---{{item.name}}
            </view>
        </view>
ログイン後にコピー

上記のスクリーンショットとコードは、第 2 レベルのネストされたコンテンツです。
wxml コードでは、wx:for の 2 つの制御属性があることが明確にわかります。第 2 レベルのループの JSON コードでは、それぞれの単一配列に第 1 レベルのデータ twodata も存在することがわかります。リサイクルしてレンダリングするには、ページのデータの最初のレイヤーで item.twodata を直接リサイクルするだけです。中括弧を忘れずに含めてください。
第 2 レベルのループでは、現在の項目の変数名を別の名前、つまり、wxml コードにある wx:for-item="twodata" に変更することをお勧めします。これは、現在の項目のデフォルトの変数名が理由です。他に何も変更しないと、ループの 1 層目のデータは 2 層目の変数名で上書きされるため取得できません。
つまり、wxml コードでは、第 2 レベルでループするときに、第 1 レベルの値、つまり - {{twodata.name}} - {{item.name}} もループできることがわかります。 。

3層以上の多層ループ

3層以上の多層配列ループは、原理的には2層目の配列ループと同じです。2層目の配列ループを理解できれば、次のようにすることができます。 3 層以上の適切なアプリケーション。
注意が必要なのは、2 番目のレベル以降、データを中かっこで囲む必要があることです。現在の項目のデフォルトの変数名を、wx:for-item= などの別の名前に変更します。 「twodata」、そして慎重に注意してください。

おすすめの関連記事:

左スワイプ時に Didi WeChat アプレットの銀行カード管理モジュールを削除および編集するためのコード実装

WeChat アプレット - Raspberry Pi 車制御のコード フロー

WeChat ミニ プログラム API 呼び出しデータリクエスト実装例のwx.requestの解説

以上がWeChat アプレットでリストをレンダリングするための多層ネストされたループを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!