国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

vue實現購物車功能(商品分類)

瀏覽:50日期:2023-01-25 18:40:26

本文實例為大家分享了vue實現購物車功能的具體代碼,供大家參考,具體內容如下

new Vue({ el: '#app', data: { cIndex: 0, lists: [ { title: '推薦商品', goods: [ { id: 0, img: ’./images/goods.png’, name: ’散稱櫻桃1’, price: ’10.00’, num: 0 }, { id: 1, img: ’./images/goods.png’, name: ’散稱櫻桃1’, price: ’10.00’, num: 0 } ] }, { title: '推薦商品', goods: [ { id: 2, img: ’./images/goods.png’, name: ’散稱櫻桃2’, price: ’20.00’, num: 0 }, { id: 3, img: ’./images/goods.png’, name: ’散稱櫻桃2’, price: ’20.00’, num: 0 }, ] }, ], carArr: [], appearCar: false, }, computed:{ alltotal:function () { var alltotal = 0; var allNum = 0; for(var i = 0,len = this.lists.length;i<len;i++){ for(var j = 0,goodsLen = this.lists[i].goods.length;j<goodsLen;j++){ alltotal += parseInt(this.lists[i].goods[j].num)*parseFloat(this.lists[i].goods[j].price); allNum += parseInt(this.lists[i].goods[j].num); } } return [alltotal,allNum] }, }, methods: { leftTap: function (index) { this.cIndex = index }, showCar: function () { if (this.carArr.length == 0) { this.appearCar = false } else { this.appearCar = !this.appearCar } }, //商品數量加 addNum: function (data) { data.num++; var carArr = this.carArr; var isCar = false; if (carArr == 0) { carArr.push(data) } for (var i = 0, len = carArr.length; i < len; i++) { if (data.id == carArr[i].id) { isCar = true } } if (!isCar) { carArr.push(data) } }, reduceNum: function (data) { if (data.num <= 0) return; var carArr = this.carArr; data.num--; var isCar = false; for (var i = 0, len = carArr.length; i < len; i++) { if (carArr[i].num <= 0) { carArr.splice(i, 1) } } }, carAddNum: function (index) { this.carArr[index].num++ }, carReduceNum: function (index) { this.carArr[index].num--; if (this.carArr[index].num <= 0) { this.carArr.splice(index, 1) } if (this.carArr.length == 0) { this.appearCar = !this.appearCar } }, // 清空 delCar: function () { confirm(’確定清空購物車嗎?’); var cur = this.cIndex; var goods = this.lists[cur].goods if (true) { this.carArr = []; this.appearCar = !this.appearCar; for(var i = 0,len = this.lists.length;i<len;i++){ for(var j = 0,goodsLen = this.lists[i].goods.length;j<goodsLen;j++){ this.lists[i].goods[j].num=0; } } } }, Settlement:function () { if(this.alltotal[0]<=0){ console.log(’我不動’) }else{ window.location.href = ’cashierPay.html’ } } }})

html頁面

<div v-cloak> <div class=’box’> <div class=’boxleft’> <div class=’boxla’> <img src=’./images/sm.png’/> <span>掃碼</span> </div> <ul class=’boxlbox’> <template v-for='(item,index) in lists'> <li @click=’leftTap(index)’ : class=’boxlb’> <span class=’boxlb_inner’ :class='{boxlb_inner_cheak:cIndex==index}'>{{item.title}}</span> </li> </template> </ul> </div> <ul class=’boxright’> <li class=’boxri’ v-for='(item,index) in lists[cIndex].goods'> <img class=’boxri_img’ :src=’item.img’/> <div class=’boxri_text’> <div class=’boxrit_left’> <p class=’boxritl_name’>{{item.name}}</p> <p class=’boxritl_price’>¥{{item.price}}</p> </div> <div class=’boxrit_right’> <img @click=’reduceNum(item)’ v-show='item.num>0' class=’boxrit_right_img’ src=’./images/minus.png’/> <span class=’boxrit_right_num’ v-show='item.num>0'>{{item.num}}</span> <img @click=’addNum(item)’ class=’boxrit_right_img’ src=’./images/add.png’/> </div> </div> </li> </ul> </div> <footer class=’footer’> <div class=’cartImgBox’> <img class=’cartImg’ src=’./images/car.png’ @click=’showCar’/> 共{{alltotal[1]}}件商品 </div> <div class=’footerb’>¥{{alltotal[0]}}</div> <div @click=’Settlement’ class=’footerc’>結算</div> </footer> <!-- 購物車 --> <div class=’shop-car-mask’ v-show='appearCar'> <div class=’shop-com’> <div class=’shop-title’> <span>已選商品</span> <span @click='delCar'>清空</span> </div> <ul class='car-shopList'> <template v-for=’(item,index) in carArr’> <li class=’car-list’> <div class=’car-img’> <img :src=’item.img’/> </div> <div class=’car-name’>{{item.name}}</div> <div class=’car-num’>¥{{item.price}}</div> <div class=’boxrit_right2’> <img @click=’carReduceNum(index)’ class=’boxrit_right_img2’ src=’./images/minus.png’/> <span class=’boxrit_right_num2’>{{item.num}}</span> <img @click=’carAddNum(index)’ class=’boxrit_right_img2’ src=’./images/add.png’/> </div> </li> </template> </ul> </div> </div></div>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Vue
相關文章:
主站蜘蛛池模板: 日本免费久久 | 超薄肉色丝袜精品足j福利 超级乱淫视频aⅴ播放视频 | 亚洲aⅴ | 拍拍拍又黄又爽无挡视频免费 | 国产在线观看第一页 | 亚洲精品欧美精品 | 免费区欧美一级毛片 | 久久久网久久久久合久久久久 | 男人的天堂视频在线 | 欧美大片一区 | 男人把女人桶到喷白浆的视频 | 久久国内免费视频 | 99九九视频 | 亚洲女人在线 | 成人免费黄色网址 | 黄在线观看网站 | 一级特黄特色的免费大片视频 | 日韩色视频一区二区三区亚洲 | 久久在线影院 | 免费观看一级成人毛片软件 | 亚洲人成高清毛片 | 精品国产91久久久久久久a | 综合图片亚洲网友自拍10p | 中文字幕一二三区乱码老 | 99ri在线观看 | 亚洲你我色 | 欧美日韩一区二区在线观看 | 欧美一级片在线免费观看 | 欧美二级在线观看免费 | 国产成人精品三级91在线影院 | 国产成人精品999在线观看 | 成人av手机在线观看 | 欧美国产日韩在线播放 | 久久成人网18网站 | 国产欧美日韩精品a在线观看 | 日韩高清成人毛片不卡 | 美女视频在线观看黄 | 国产手机在线小视频免费观看 | 日本亚洲成高清一区二区三区 | 综合欧美日韩一区二区三区 | 欧美一区二区三区四区在线观看 |