はじめに
これまで、ショッピング カートは基本的に多數(shù)の DOM 操作を通じて実裝されていました。 WeChat アプレットは実際には vue.js の使用方法とよく似ています。次に、アプレットがショッピング カート機能を?qū)g裝する方法を見てみましょう。
要件
まず、ショッピング カートのニーズを把握しましょう。
- #単一選択、全選択とキャンセル、選択した商品に応じて合計金額が計算されます
- 単一の購入數(shù)量商品の増加と削減 #アイテムの削除。ショッピング カートが空の場合、ページは空のショッピング カートのレイアウトに変更されます。
- 設計図によると、まず靜的ページを?qū)g裝できます。次に、ショッピング カートに必要なデータの種類を見てみましょう。
- 最初は商品リスト(カート)で、リスト內(nèi)の項目は商品畫像(image)、商品名(title)、単価(price)、數(shù)量(num)です。 、選択されているかどうか (選択されているかどうか)、プロダクト ID (id)
- を選択し、左下隅ですべてを選択します。すべてが選択されているかどうかを示すフィールド (selectAllStatus) が必要です
- 右下隅の合計価格 (totalPrice)
- 最後に、ショッピング カートが空かどうかを知る必要があります (hasList)
- #必要なものはわかっています。データ、ページが初期化されるときに最初にこれらを定義します。
Page({ ????data:?{ ????????carts:[],???????????????//?購物車列表 ????????hasList:false,??????????//?列表是否有數(shù)據(jù) ????????totalPrice:0,???????????//?總價,初始為0 ????????selectAllStatus:true????//?全選狀態(tài),默認全選 ????}, ????onShow()?{ ????????this.setData({ ??????????hasList:?true,????????//?既然有數(shù)據(jù)了,那設為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} ??????????] ????????}); ??????}, })通常、ショッピングカートのリストデータはサーバーにリクエストして取得するので、ライフサイクル関數(shù)でカートに値を割り當てます。ショッピングカートに入るたびにショッピングカートの最新ステータスを取得しようと考えたのですが、onLoadとonReadyは初期化時に1回しか実行されないので、onShow関數(shù)にリクエストを入れる必要があります。 (ここでは偽データのふりをしてみます)Layout wxml前に書いた靜的ページを修復し、データをバインドします。
?<view class="cart-box"> ????<!-- wx:for 渲染購物車列表 --> ????<view wx:for="{{carts}}"> ???? ????????<!-- wx:if 是否選擇顯示不同圖標 --> ????????<icon wx:if="{{item.selected}}" type="success" color="red" bindtap="selectList" data-index="{{index}}" /> ????????<icon wx:else type="circle" bindtap="selectList" data-index="{{index}}"/> ???????? ????????<!-- 點擊商品圖片可跳轉(zhuǎn)到商品詳情 --> ????????<navigator url="../details/details?id={{item.id}}"> ????????????<image class="cart-thumb" src="{{item.image}}"></image> ????????</navigator> ???????? ????????<text>{{item.title}}</text> ????????<text>¥{{item.price}}</text> ???????? ????????<!-- 增加減少數(shù)量按鈕 --> ????????<view> ????????????<text bindtap="minusCount" data-index="{{index}}">-</text> ????????????<text>{{item.num}}</text> ????????????<text bindtap="addCount" data-index="{{index}}">+</text> ????????</view> ???????? ????????<!-- 刪除按鈕 --> ????????<text bindtap="deleteList" data-index="{{index}}">?×?</text> ????</view> </view> <!-- 底部操作欄 --> <view> ????<!-- wx:if 是否全選顯示不同圖標 --> ????<icon wx:if="{{selectAllStatus}}" type="success_circle" color="#fff" bindtap="selectAll"/> ????<icon wx:else type="circle" color="#fff" bindtap="selectAll"/> ????<text>全選</text> ???? ????<!-- 總價 --> ????<text>¥{{totalPrice}}</text> </view>合計価格を計算します合計価格 = 選択した製品の価格 1 * 選択した製品の価格 2 * 數(shù)量...
式によると、
getTotalPrice()?{ ????let?carts?=?this.data.carts;??????????????????//?獲取購物車列表 ????let?total?=?0; ????for(let?i?=?0;?i<carts.length;?i++)?{?????????//?循環(huán)列表得到每個數(shù)據(jù) ????????if(carts[i].selected)?{???????????????????//?判斷選中才會計算價格 ????????????total?+=?carts[i].num?*?carts[i].price;?????//?所有價格加起來 ????????} ????} ????this.setData({????????????????????????????????//?最后賦值到data中渲染到頁面 ????????carts:?carts, ????????totalPrice:?total.toFixed(2) ????}); }
合計価格を変更するページ上の他の操作では、このメソッドを呼び出す必要があります。
<p>selectList(e) {<br> ? ?const index = e.currentTarget.dataset.index; ? ?// 獲取data- 傳進來的index<br> ? ?let carts = this.data.carts; ? ? ? ? ? ? ? ? ? ?// 獲取購物車列表<br> ? ?const selected = carts[index].selected; ? ? ? ? // 獲取當前商品的選中狀態(tài)<br> ? ?carts[index].selected = !selected; ? ? ? ? ? ? ?// 改變狀態(tài)<br> ? ?this.setData({<br> ? ? ? ?carts: carts<br> ? ?});<br> ? ?this.getTotalPrice(); ? ? ? ? ? ? ? ? ? ? ? ? ? // 重新獲取總價<br>}<br></p>すべてのイベントを選択すべて選択とは、全選択狀態(tài)に応じて各商品の選択內(nèi)容を変更する selectAllStatus
<p>selectAll(e) {<br> ? ?let selectAllStatus = this.data.selectAllStatus; ? ?// 是否全選狀態(tài)<br> ? ?selectAllStatus = !selectAllStatus;<br> ? ?let carts = this.data.carts;<br><br> ? ?for (let i = 0; i < carts.length; i++) {<br> ? ? ? ?carts[i].selected = selectAllStatus; ? ? ? ? ? ?// 改變所有商品狀態(tài)<br> ? ?}<br> ? ?this.setData({<br> ? ? ? ?selectAllStatus: selectAllStatus,<br> ? ? ? ?carts: carts<br> ? ?});<br> ? ?this.getTotalPrice(); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // 重新獲取總價<br>}<br></p>數(shù)量を増減する數(shù)字をクリックし、num に 1 を加え、- 記號をクリックします。num > 1 の場合、1 を減算します
<p>// 增加數(shù)量<br>addCount(e) {<br> ? ?const index = e.currentTarget.dataset.index;<br> ? ?let carts = this.data.carts;<br> ? ?let num = carts[index].num;<br> ? ?num = num + 1;<br> ? ?carts[index].num = num;<br> ? ?this.setData({<br> ? ? ?carts: carts<br> ? ?});<br> ? ?this.getTotalPrice();<br>},<br>// 減少數(shù)量<br>minusCount(e) {<br> ? ?const index = e.currentTarget.dataset.index;<br> ? ?let carts = this.data.carts;<br> ? ?let num = carts[index].num;<br> ? ?if(num <= 1){<br> ? ? ?return false;<br> ? ?}<br> ? ?num = num - 1;<br> ? ?carts[index].num = num;<br> ? ?this.setData({<br> ? ? ?carts: carts<br> ? ?});<br> ? ?this.getTotalPrice();<br>}<br></p>商品を削除削除ボタンをクリックして、ショッピングから現(xiàn)在の要素を削除します削除後、ショッピング カートが空の場合は、ショッピング カート空フラグ 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();???????????//?重新計算總價格 ????}??? }要約ショッピング カート機能は比較的単純ですが、まだ多くの知識が必要です。 WeChat アプレットに関連するポイント。これは初心者がマスターするのに適した練習です。 推奨チュートリアル: 「
WeChat ミニ プログラム
」以上がWeChatミニプログラムにショッピングカート機能を?qū)g裝の詳細內(nèi)容です。詳細については、PHP 中國語 Web サイトの他の関連記事を參照してください。

ホットAIツール

Undress AI Tool
脫衣畫像を無料で

Undresser.AI Undress
リアルなヌード寫真を作成する AI 搭載アプリ

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

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中國語版
中國語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

Xianyu の公式 WeChat ミニ プログラムが靜かに開始されました。ミニ プログラムでは、プライベート メッセージを投稿して購入者/販売者とコミュニケーションしたり、個人情報や注文を表示したり、商品を検索したりすることができます。プログラム、見てみましょう。 Xianyu WeChat アプレットの名前は何ですか? 回答: Xianyu、アイドル取引、中古品販売、評価、リサイクル。 1. ミニ プログラムでは、アイドル メッセージの投稿、プライベート メッセージを介した購入者/販売者とのコミュニケーション、個人情報と注文の表示、指定された商品の検索などができます。 2. ミニ プログラム ページには、ホームページ、近くに、アイドル投稿、メッセージ投稿、私の投稿 5つの機能; 3. 使用したい場合は、購入する前に WeChat 支払いを有効にする必要があります。

WeChat ミニ プログラムでの畫像フィルター効果の実裝 ソーシャル メディア アプリケーションの人気に伴い、人々は寫真にフィルター効果を適用して、寫真の蕓術(shù)的効果や魅力を高めることがますます好まれています。畫像フィルター効果は WeChat ミニ プログラムにも実裝でき、より興味深く創(chuàng)造的な寫真編集機能をユーザーに提供します。この記事では、WeChat ミニ プログラムに畫像フィルター効果を?qū)g裝する方法を紹介し、具體的なコード例を示します。まず、WeChat アプレットのキャンバス コンポーネントを使用して畫像を読み込み、編集する必要があります。 Canvasコンポーネントはページ上で使用できます

WeChat ミニ プログラムでドロップダウン メニュー効果を?qū)g裝するには、特定のコード サンプルが必要です。モバイル インターネットの普及に伴い、WeChat ミニ プログラムはインターネット開発の重要な部分となり、ますます多くの人が注目し始めています。 WeChat ミニ プログラムを使用します。 WeChat ミニ プログラムの開発は、従來の APP 開発よりも簡単かつ迅速ですが、特定の開発スキルを習得する必要もあります。 WeChat ミニ プログラムの開発では、ドロップダウン メニューが一般的な UI コンポーネントであり、より良いユーザー エクスペリエンスを?qū)g現(xiàn)します。この記事では、WeChat アプレットにドロップダウン メニュー効果を?qū)g裝し、実用的な機能を提供する方法を詳しく紹介します。

Xianyu の公式 WeChat ミニ プログラムが靜かに開始され、アイドルアイテムを簡単に公開および交換できる便利なプラットフォームをユーザーに提供します。ミニ プログラムでは、プライベート メッセージを介して購入者または販売者とコミュニケーションしたり、個人情報や注文を表示したり、欲しい商品を検索したりできます。では、WeChat ミニ プログラムでは Xianyu とはいったい何と呼ばれているのでしょうか? このチュートリアル ガイドで詳しくご紹介しますので、知りたいユーザーは、この記事に従って読み続けてください。 Xianyu WeChat アプレットの名前は何ですか? 回答: Xianyu、アイドル取引、中古品販売、評価、リサイクル。 1. ミニ プログラムでは、アイドル メッセージの投稿、プライベート メッセージを介した購入者/販売者とのコミュニケーション、個人情報と注文の表示、指定された商品の検索などができます。 2. ミニ プログラム ページには、ホームページ、近くに、アイドル投稿、メッセージ投稿、マイ投稿の5つの機能、3.

WeChat アプレットが畫像アップロード機能を?qū)g裝 モバイル インターネットの発展に伴い、WeChat アプレットは人々の生活に欠かせないものになりました。 WeChat ミニ プログラムは、豊富なアプリケーション シナリオを提供するだけでなく、畫像アップロード機能などの開発者定義の機能もサポートします。この記事では、WeChat アプレットに畫像アップロード機能を?qū)g裝する方法と具體的なコード例を紹介します。 1. 準備作業(yè) コードを書き始める前に、WeChat 開発者ツールをダウンロードしてインストールし、WeChat 開発者として登録する必要があります。同時に、WeChat についても理解する必要があります。

WeChat ミニ プログラムで畫像回転効果を?qū)g裝するには、特定のコード サンプルが必要です。WeChat ミニ プログラムは、ユーザーに豊富な機能と優(yōu)れたユーザー エクスペリエンスを提供する軽量のアプリケーションです。ミニ プログラムでは、開発者はさまざまなコンポーネントと API を使用して、さまざまな効果を?qū)g現(xiàn)できます。その中で、畫像回転効果は、ミニプログラムに興味と視覚効果を加えることができる一般的なアニメーション効果です。 WeChat ミニ プログラムで畫像の回転効果を?qū)g現(xiàn)するには、ミニ プログラムが提供するアニメーション API を使用する必要があります。以下は、その方法を示す具體的なコード例です。

WeChat アプレットを使用してカルーセル スイッチング効果を?qū)g現(xiàn)する WeChat アプレットは、シンプルで効率的な開発と使用特性を備えた軽量のアプリケーションです。 WeChat ミニ プログラムでは、カルーセル スイッチング効果を?qū)g現(xiàn)することが一般的な要件です。この記事では、WeChat アプレットを使用してカルーセル切り替え効果を?qū)g現(xiàn)する方法と、具體的なコード例を紹介します。まず、カルーセル コンポーネントを WeChat アプレットのページ ファイルに追加します。たとえば、<swiper> タグを使用すると、カルーセルの切り替え効果を?qū)g現(xiàn)できます。このコンポーネントでは、 b を渡すことができます。

WeChat ミニ プログラムにスライディング削除機能を?qū)g裝するには、特定のコード サンプルが必要です。WeChat ミニ プログラムの人気に伴い、開発者は開発プロセス中にいくつかの一般的な機能を?qū)g裝する際に問題に遭遇することがよくあります。中でも、スライド削除機能は、よく使われる一般的な機能要件です。この記事では、WeChat アプレットにスライディング削除機能を?qū)g裝する方法と具體的なコード例を詳しく紹介します。 1. 要件分析 WeChat ミニ プログラムでは、スライド削除機能の実裝には次の點が含まれます。 リスト表示: スライドして削除できるリストを表示するには、各リスト項目に次の要素が含まれている必要があります。
