ホームページ WeChat アプレット ミニプログラム開発 WeChat アプレットにショッピング カート機能を実装するにはどうすればよいですか? (手法の紹介)

WeChat アプレットにショッピング カート機能を実装するにはどうすればよいですか? (手法の紹介)

May 01, 2020 am 09:44 AM
アプレット

WeChat アプレットにショッピング カート機能を実装するにはどうすればよいですか?次の記事では、WeChat アプレットにショッピング カート機能を実装する方法を紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。

WeChat アプレットにショッピング カート機能を実装するにはどうすればよいですか? (手法の紹介)

ショッピング モールでもケータリング アプレットでも、注文することでトランザクションを完了する必要があるため、ショッピング カートに追加する操作があります。従来、ショッピング カート機能は基本的に多数の DOM 操作によって実装されていましたが、アプレットは Web ベースではないため、DOM を作成できません。 WeChat アプレットはショッピング カート機能を実装します実際、これは vue.js の使用法と非常によく似ています。

まず、ショッピング カートのニーズを把握しましょう。

#単一選択、全選択とキャンセル、選択した商品に応じて合計金額が計算されます

単一商品の購入数量の増減

商品を削除します。ショッピング カートが空になると、ページは空のショッピング カートのレイアウトに変わります。

設計図によると、まず静的ページを実装できます。次に、ショッピング カートに必要なデータの種類を見てみましょう。

最初は商品リスト(カート)です。リスト内の項目は、商品画像(image)、商品名(title)、単価(price)、数量(num)、選択されているかどうか( selected)、製品 ID (id)

次に、左下隅ですべてを選択します。すべてが選択されているかどうかを示すフィールド (selectAllStatus) が必要です。

右下隅の合計価格(totalPrice)

最後に、ショッピング カートが空かどうかを知る必要があります (hasList)

これらのデータが必要になったので、ページの初期化時に最初にこれらのデータを定義します。

初期化コード:

Page({
    data: {
        carts:[],               // 购物车列表
        hasList:false,          // 列表是否有数据
       totalPrice:0,           // 总价,初始为0
       selectAllStatus:true    // 全选状态,默认全选
    },
    onShow() {
        this.setData({
          hasList:true,        // 既然有数据了,那设为true吧
          carts:[
            {id:1,title:\'新鲜芹菜 半斤\',image:\'/image/s5.png\',num:4,price:0.01,selected:true},
            {id:2,title:\'素米 500g\',image:\'/image/s6.png\',num:1,price:0.03,selected:true}
          ]
        });
      },
})
ログイン後にコピー

通常、ショッピングカートのリストデータはサーバーにリクエストすることで取得するので、ライフサイクル関数に値を代入します。カート。ショッピングカートに入るたびにショッピングカートの最新ステータスを取得しようと考えたのですが、onLoadとonReadyは初期化時に1回しか実行されないので、onShow関数にリクエストを入れる必要があります。

合計価格の計算

合計価格 = 選択した製品 1 の価格 * 数量 選択した製品 2 の価格 * 数量 …

式によれば、

getTotalPrice() {
    let carts =this.data.carts;                  // 获取购物车列表
    let total = 0;
    for(let i = 0;i<carts.length; i++)="{        =" 循环列表得到每个数据<="span=" style=";padding: 0px">
        if(carts[i].selected){                   // 判断选中才会计算价格
            total +=carts[i].num * carts[i].price;     // 所有价格加起来
        }
    }
    this.setData({                                // 最后赋值到data中渲染到页面
        carts: carts,
        totalPrice:total.toFixed(2)
    });
}
ログイン後にコピー

を取得できます。ページ上の他の操作により合計価格が変更される場合は、このメソッドを呼び出す必要があります。

選択イベント

クリックすると選択され、もう一度クリックすると選択が解除され、実際には選択フィールドが変更されます。 data-index="{{index}}" を渡して、リスト配列内の現在の製品のインデックスをイベントに渡します。

selectList(e) {
    const index =e.currentTarget.dataset.index;    // 获取data- 传进来的index
    let carts =this.data.carts;                    // 获取购物车列表
    const selected =carts[index].selected;         // 获取当前商品的选中状态
    carts[index].selected= !selected;              // 改变状态
    this.setData({
        carts: carts
    });
   this.getTotalPrice();                           // 重新获取总价
}
ログイン後にコピー

すべて選択イベント

すべて選択とは、全選択ステータスに応じて各製品の選択数量を変更することです selectAllStatus

selectAll(e) {
    let selectAllStatus =this.data.selectAllStatus;    // 是否全选状态
    selectAllStatus =!selectAllStatus;
    let carts =this.data.carts;
 
    for (let i = 0; i< carts.length; i++) {
        carts[i].selected = selectAllStatus;            // 改变所有商品状态
    }
    this.setData({
        selectAllStatus:selectAllStatus,
        carts: carts
    });
   this.getTotalPrice();                               // 重新获取总价
}
ログイン後にコピー

数字をクリックし、num に 1 を加え、数字 > 1 の場合は - 数字をクリックし、1 を減算します

// 增加数量
addCount(e) {
    const index =e.currentTarget.dataset.index;
    let carts =this.data.carts;
    let num =carts[index].num;
    num = num + 1;
    carts[index].num =num;
    this.setData({
      carts: carts
    });
    this.getTotalPrice();
},
// 减少数量
minusCount(e) {
    const index =e.currentTarget.dataset.index;
    let carts =this.data.carts;
    let num =carts[index].num;
    if(num <= 1){
      return false;
    }
    num = num - 1;
    carts[index].num =num;
    this.setData({
      carts: carts
    });
    this.getTotalPrice();
}
ログイン後にコピー

製品を削除します

削除ボタンをクリックして、ショッピング カート リストから現在の要素を削除します。削除後にショッピング カートが空の場合は、ショッピング カート空フラグ hasList を false に変更します。

deleteList(e) {
    const index =e.currentTarget.dataset.index;
    let carts =this.data.carts;
   carts.splice(index,1);             // 删除购物车列表里这个商品
    this.setData({
        carts: carts
    });
   if(!carts.length){                 // 如果购物车为空
        this.setData({
            hasList:false              // 修改标识为false,显示购物车为空页面
        });
    }else{                              // 如果不为空
       this.getTotalPrice();           //重新计算总价格
    }  
}
ログイン後にコピー

ミニ プログラム ショッピングカート機能の開発は機能モジュールごとに分割 開発の考え方はWebやAPPの開発と基本的に同じです。ショッピング カート機能は比較的シンプルですが、WeChat アプレットにはまだ多くの知識ポイントが含まれています。

推奨事項: 「

ミニ プログラム開発チュートリアル

以上がWeChat アプレットにショッピング カート機能を実装するにはどうすればよいですか? (手法の紹介)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Python を使用して WeChat アプレットを開発する Python を使用して WeChat アプレットを開発する Jun 17, 2023 pm 06:34 PM

モバイル インターネット技術とスマートフォンの普及により、WeChat は人々の生活に欠かせないアプリケーションになりました。 WeChat ミニ プログラムを使用すると、アプリケーションをダウンロードしてインストールすることなく、ミニ プログラムを直接使用して、いくつかの簡単なニーズを解決できます。この記事では、Python を使用して WeChat アプレットを開発する方法を紹介します。 1. 準備 Python を使用して WeChat アプレットを開発する前に、関連する Python ライブラリをインストールする必要があります。ここでは、wxpy と itchat の 2 つのライブラリを使用することをお勧めします。 wxpy は WeChat マシンです

小さなプログラムでも反応できますか? 小さなプログラムでも反応できますか? Dec 29, 2022 am 11:06 AM

ミニプログラムはreactを利用することができます 使い方: 1. 「react-reconciler」に基づいてレンダラーを実装し、DSLを生成します; 2. DSLを解析してレンダリングするためのミニプログラムコンポーネントを作成します; 3. npmをインストールし、開発者ビルドを実行しますツール内の npm; 4. パッケージを独自のページに導入し、API を使用して開発を完了します。

WeChat ミニ プログラムにカードめくり効果を実装する WeChat ミニ プログラムにカードめくり効果を実装する Nov 21, 2023 am 10:55 AM

WeChat ミニ プログラムでのカードめくり効果の実装 WeChat ミニ プログラムでは、カードめくり効果の実装は、ユーザー エクスペリエンスとインターフェイス インタラクションの魅力を向上させることができる一般的なアニメーション効果です。以下では、WeChat アプレットでカードめくりの特殊効果を実装する方法と、関連するコード例を詳しく紹介します。まず、ミニ プログラムのページ レイアウト ファイルに 2 つのカード要素を定義する必要があります。1 つは前面のコンテンツを表示するため、もう 1 つは背面のコンテンツを表示するためです。具体的なサンプル コードは次のとおりです: &lt;!--index.wxml- ->&l

アリペイ、希少文字ライブラリを収集・補完する「漢字拾い-希少文字」ミニプログラムを開始 アリペイ、希少文字ライブラリを収集・補完する「漢字拾い-希少文字」ミニプログラムを開始 Oct 31, 2023 pm 09:25 PM

10月31日の当サイトのニュースによると、今年5月27日、アント・グループは「漢字拾いプロジェクト」の立ち上げを発表し、最近新たな進展を迎えた:アリペイが「漢字拾い-珍しい文字」ミニプログラムを開始協会からコレクションを収集する レア文字は、レア文字ライブラリを補完し、アリペイでのレア文字入力方法の改善に役立つように、レア文字に異なる入力エクスペリエンスを提供します。現在、ユーザーは「漢字ピックアップ」「珍文字」などのキーワードで検索することで「珍文字」アプレットに入ることができる。ミニプログラムでは、ユーザーがシステムで認識・入力されなかった珍しい文字の画像を送信し、確認後、Alipay のエンジニアがフォントライブラリに追加エントリを作成します。当サイトでは、発音が不明瞭な珍しい単語を対象とした最新の単語分割入力方法をミニプログラムで体験できることに注目しました。ユーザー解体

uniapp がミニ プログラムと H5 の間で迅速な変換を実現する方法 uniapp がミニ プログラムと H5 の間で迅速な変換を実現する方法 Oct 20, 2023 pm 02:12 PM

uniapp がミニ プログラムと H5 の間で迅速な変換を実現するには、具体的なコード例が必要ですが、近年、モバイル インターネットの発展とスマートフォンの普及に伴い、ミニ プログラムと H5 は不可欠なアプリケーション形式となっています。クロスプラットフォーム開発フレームワークとして、uniapp は一連のコードに基づいて小規模プログラムと H5 間の変換を迅速に実現し、開発効率を大幅に向上させます。この記事では、uniapp がミニ プログラムと H5 の間で迅速な変換を実現する方法と、具体的なコード例を紹介します。 1. uniapp uniaの紹介

ミニプログラム登録の操作方法 ミニプログラム登録の操作方法 Sep 13, 2023 pm 04:36 PM

ミニ プログラムの登録操作手順: 1. 個人 ID カード、法人営業許可証、法人 ID カードおよびその他の提出資料のコピーを準備します; 2. ミニ プログラム管理のバックグラウンドにログインします; 3. ミニ プログラム設定ページに入ります; 4. 「基本設定」を選択; 5. 出願情報を入力; 6. 出願資料をアップロード; 7. 出願申請を送信; 8. 審査結果を待ちます。出願が不合格の場合は、理由に応じて修正してください9. 出願のフォローアップ操作は可能です。

Python で簡単なチャット プログラムを作成するためのチュートリアル Python で簡単なチャット プログラムを作成するためのチュートリアル May 08, 2023 pm 06:37 PM

実装アイデア: チャット ルームのさまざまな機能を処理するために、スレッドのサーバー側を確立します。x02 クライアントの確立はサーバーよりもはるかに簡単です。クライアントの機能はメッセージの送受信と、特定の文字を特定の規則に従って入力するため、クライアント側では、メッセージ受信専用とメッセージ送信専用の 2 つのスレッドを使用するだけで、さまざまな機能を使用できます。使用しないでください。

Java 言語による WeChat アプレット開発の概要 Java 言語による WeChat アプレット開発の概要 Jun 09, 2023 pm 10:40 PM

WeChat アプレットは、WeChat プラットフォーム上で実行できる軽量のアプリケーションで、ダウンロードやインストールが不要で、便利で高速です。 Java 言語は、エンタープライズ レベルのアプリケーション開発で広く使用されている言語であり、WeChat アプレットの開発にも使用できます。 Java 言語では、SpringBoot フレームワークとサードパーティのツールキットを使用して WeChat アプレットを開発できます。以下は、簡単な WeChat アプレット開発プロセスです。 WeChat ミニ プログラムを作成するには、まず、WeChat パブリック プラットフォームにミニ プログラムを登録する必要があります。登録が成功すると、次の情報を取得できます。

See all articles