成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

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

Vue實現購物車實例代碼兩則

瀏覽:172日期:2023-01-17 14:40:26

一、第一種比較簡單

效果圖

Vue實現購物車實例代碼兩則

實現代碼:

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <meta name='viewport' content='width=device-width, initial-scale=1.0'> <meta http-equiv='X-UA-Compatible' content='ie=edge'> <title>購物車案例</title> <script src='https://cdn.jsdelivr.net/npm/vue/dist/vue.js'></script></head><style> *{ padding: 0; margin:0 } ul li{ width: 1200px; display: flex; align-items: center; justify-content: center; } li div,.total{ display: inline-block; width:200px; height: 50px; line-height: 50px; text-align: center; } button{ width: 60px; height: 40px; text-align: center; line-height: 40px; }</style><body> <div id='app'> <ul> <goodsitem v-for='item in goodslist' :item='item' :key='item.id' @onchange='(type)=>{handleCount(type,item)}' @ondelete='()=>{handleDelete(item.id)}'> </goodsitem> <div style='padding-left: 113px'>總價:{{total}}</div> </ul> </div></body><script> var computed={ props:{ count:{ type:Number, require:true } }, methods:{ handleCount(type){ this.$emit(’onchange’,type) } }, template:`<div style='width:200px'> <button @click='handleCount(’sub’)'>-</button> <span>{{count}}</span> <button @click='handleCount(’add’)' >+</button> </div> ` } var goodsitem={ props:{ item:{ type:Object, require:true } }, methods:{ handleCount(type){ this.$emit(’onchange’,type) }, handleDelete(){ this.$emit(’ondelete’) } }, components:{ computed }, template:`<li> <div>{{item.goodsName}}</div> <div>{{item.price}}</div> <computed :count='item.count' @onchange='handleCount'></computed> <div>{{item.sum}}</div> <div><button @click='handleDelete'>刪除</button></div> </li> ` } var app=new Vue({ el:'#app', data:{ goodslist:[{ id:1, goodsName:'小可愛', price:100, count:1, sum:100 },{ id:2, goodsName:'小可愛', price:200, count:2, sum:400 },{ id:3, goodsName:'小可愛', price:300, count:3, sum:900 },{ id:4, goodsName:'小可愛', price:400, count:1, sum:400 }, ] }, methods:{ handleCount(type,item){ if(type==’add’){ item.count+=1 }else{ if(item.count==1){ this.handleDelete(item.id) return } item.count-=1 } item.sum=item.count*item.price }, handleDelete(id){ return this.goodslist=this.goodslist.filter((item)=>{ return id!=item.id }) } }, computed:{ total(){ return this.goodslist.reduce((total,item)=>{ return total+=item.sum },0) } }, components:{ goodsitem } })</script></html>

二、一個用vue實現的簡單響應式購物車案例

實現結果

Vue實現購物車實例代碼兩則

如上,所有書類數據存在數組里,遍歷顯示在表格中,點擊+和-可以實現數量和總價格的響應式變化,其中,減號到1時便添加了disabled類型,無法點擊。 價格顯示時通過過濾器顯示的,加上Z¥符號和兩位小數。項目結構為三個文件。

index.html

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>Title</title> <link rel='stylesheet' href='http://www.piao2010.com/bcjs/style.css' rel='external nofollow' ></head><body><div id='app'> <div v-if='books.length'> <table> <thead> <tr> <th></th> <th>書籍日期</th> <th>出版日期</th> <th>價格</th> <th>購買數量</th> <th>操作 </th> </tr> </thead> <tbody> <tr v-for='(item,index) in books'> <!--<td v-for='value in item'>{{value}}</td>--> <td>{{item.id}}</td> <td>{{item.name}}</td> <td>{{item.date}}</td> <!--<td>{{getFinalPrice(item.price)}}</td> 下面是過濾器語法--> <td>{{item.price | showPrice}}</td> <td> <button @click='increment(index)' v-bind:disabled='item.count<=1'>-</button> {{item.count}} <button @click='decrement(index)'>+</button> </td> <td> <button @click='removeHandler(index)'>移除</button> </td> </tr> </tbody> </table> <h2>總價格: {{totalprice | showPrice}}</h2> </div> <h2 v-else> 購物車為空</h2></div><script src='http://www.piao2010.com/js/vue.js'></script><script src='http://www.piao2010.com/bcjs/main.js'></script><script></script></body></html>

main.js

const app = new Vue({ el:'#app', data: { books: [ { id: 1, name: ’算法導論’, date: ’2019-01-10’, price: 85.00, count: 1 }, { id: 2, name: ’計算機導論’, date: ’2019-02-14’, price: 90.00, count: 2 }, { id: 3, name: ’科學導論’, date: ’2019-09-10’, price: 85.21, count: 1 }, { id: 4, name: ’網絡導論’, date: ’2019-08-21’, price: 19.02, count: 1 }, ] }, methods:{ getFinalPrice(price) { return ’$’ + price.toFixed(2) }, increment(index){ /*if(this.books[index].count <= 1) return*/ this.books[index].count-- }, decrement(index){ this.books[index].count++ }, removeHandler(index){ this.books.splice(index,1) } }, filters:{ showPrice(price){ return ’$’ + price.toFixed(2) } }, computed:{ totalprice(){ let tprice = 0 for(let i = 0; i< this.books.length; i++) { tprice += this.books[i].price * this.books[i].count } return tprice } }})

style.css

table{ border: 1px solid #e9e9e9; border-collapse: collapse; bordre-spacing: 0;}th, td { padding: 8px 16px; border: 1px solid #e9e9e9; text-align: left;}th{ backgroud-color: #f7f7f7; color: #5c6b77; font-weight: 600;}

到此這篇關于Vue實現購物車實例代碼的文章就介紹到這了,更多相關Vue 購物車內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Vue
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
国产欧美日韩麻豆91| 午夜一区在线| 久久一区免费| 亚洲综合在线视频| 黄色成人精品网站| 国产精品久久久久天堂| 99re视频精品| 精品对白一区国产伦| 99久久久久久99| 国产日韩亚洲欧美综合| 欧美一区影院| 亚洲国产精华液网站w| 欧美日韩影院| 亚洲人精品午夜| 99久久国产综合色|国产精品| www亚洲一区| 欧美女激情福利| 国产精品每日更新| 亚洲美女啪啪| 午夜欧美一区二区三区在线播放| 久久精品五月| 青娱乐精品视频| 欧美日韩一区二区三区不卡| 韩国av一区二区三区四区| 4438亚洲最大| www.视频一区| 日本一区二区三区高清不卡| 伊人久久久大香线蕉综合直播 | 美腿丝袜亚洲色图| 欧美影院一区二区三区| 国产曰批免费观看久久久| 日韩精品中午字幕| 欧美一站二站| 亚洲欧美电影一区二区| 久久成人精品| 国产一区二区在线视频| 26uuu精品一区二区| 国产精品www.| 亚洲va在线va天堂| 884aa四虎影成人精品一区| caoporm超碰国产精品| 国产精品国产a| 久久国产成人| 国产精品一卡二卡在线观看| 久久久久97国产精华液好用吗| 在线日韩av| 免费观看成人av| 日韩久久免费av| 亚洲午夜激情在线| 婷婷一区二区三区| 91精品一区二区三区久久久久久| av亚洲精华国产精华精| 国产精品每日更新| 91久久久免费一区二区| 高清视频一区二区| 亚洲欧美在线观看| 久久亚洲精品欧美| 成人国产精品免费观看视频| 亚洲欧洲av一区二区三区久久| 久久国产精品久久精品国产| 国产精品一区二区你懂的| 久久色.com| 一区二区欧美日韩| 无码av中文一区二区三区桃花岛| 91精品国产色综合久久不卡电影| 欧美成人综合| 天堂在线一区二区| 久久精品男人天堂av| 国产女主播一区二区| 国产久卡久卡久卡久卡视频精品| 中文字幕不卡在线| 色综合久久久久网| 91欧美一区二区| 丝袜亚洲另类欧美| 久久青草国产手机看片福利盒子| 一本色道久久综合亚洲精品婷婷 | 国产欧美日本| 极品少妇xxxx偷拍精品少妇| 国产精品人人做人人爽人人添| 一本色道久久综合狠狠躁的推荐| 成人精品视频一区二区三区尤物| 亚洲欧洲一区二区在线播放| 欧美午夜精品免费| 亚洲一本视频| 黑人精品欧美一区二区蜜桃| 中文文精品字幕一区二区| 久久高清国产| 97se亚洲国产综合在线| 天天色综合成人网| 国产日韩欧美综合在线| 色999日韩国产欧美一区二区| 99国产一区二区三精品乱码| 亚洲高清免费观看| 久久精品视频一区| 精品视频色一区| 亚洲二区视频| 福利电影一区二区三区| 亚洲福利一区二区三区| 久久综合久久综合久久| 久久人人97超碰国产公开结果| heyzo一本久久综合| 亚洲一级不卡视频| 精品福利在线导航| 欧美在线三级电影| 亚洲精品激情| a美女胸又www黄视频久久| 天堂av在线一区| 国产精品色哟哟网站| 91精品婷婷国产综合久久竹菊| 一区二区日韩免费看| 99国内精品久久| 精品伊人久久久久7777人| 国产精品嫩草99a| 欧美日韩视频在线观看一区二区三区| 亚洲国产美女| 成人精品小蝌蚪| 免费人成黄页网站在线一区二区| 中文字幕第一区综合| 91精品久久久久久久91蜜桃| 美女诱惑黄网站一区| 狠狠色噜噜狠狠狠狠色吗综合| 成人免费视频免费观看| 美女视频一区二区| 亚洲午夜三级在线| 中文字幕巨乱亚洲| 欧美成人免费网站| 欧美私模裸体表演在线观看| 国产日韩欧美一区二区| 国产精品v欧美精品v日韩| 成人网男人的天堂| 国模娜娜一区二区三区| 亚洲国产精品麻豆| 国产精品久久久久久久久图文区 | 久久久欧美精品sm网站| 欧美日韩在线播放一区| 美日韩精品视频| 999亚洲国产精| 国内在线观看一区二区三区| 91色.com| 99国产精品99久久久久久| 国产91精品一区二区麻豆网站| 免费的成人av| 日本不卡123| 舔着乳尖日韩一区| 亚洲午夜视频在线观看| 亚洲精品美腿丝袜| 最好看的中文字幕久久| 国产精品欧美一级免费| 国产午夜精品久久久久久久 | 国产精品九九| 91网站最新网址| 成人黄色在线看| 国产成人免费视| 国产一区二三区| 韩国av一区二区三区| 久久99精品久久久久久动态图 | 久久九九影视网| 精品欧美乱码久久久久久| 欧美一区二区精美| 欧美一二三四在线| 日韩视频免费观看高清完整版在线观看 | 国产成人av电影免费在线观看| 蜜臂av日日欢夜夜爽一区| 日韩av一区二区三区| 丝袜亚洲另类欧美综合| 日韩主播视频在线| 日韩高清不卡在线| 日本欧美加勒比视频| 青青草精品视频| 麻豆精品国产传媒mv男同| 美日韩一级片在线观看| 麻豆成人91精品二区三区| 久久精品国产一区二区三区免费看| 视频在线观看91| 视频一区二区欧美| 日韩**一区毛片| 久久精品久久99精品久久| 国产综合成人久久大片91| 国产激情精品久久久第一区二区| 国产精品羞羞答答xxdd| 成人精品小蝌蚪| 欧美国产先锋| 亚洲黄色高清| 午夜一区二区三视频在线观看| 久久黄色小说| 欧洲精品在线观看| 91精品国产91久久综合桃花| 精品日韩在线观看| 国产喷白浆一区二区三区| 国产精品视频一区二区三区不卡| 国产精品无圣光一区二区| 亚洲欧美韩国综合色| 亚洲第一狼人社区| 美女国产一区二区三区| 国产精品系列在线播放| 欧美激情91| 亚洲一区成人| 欧美高清www午色夜在线视频| 欧美tickle裸体挠脚心vk| 国产人成亚洲第一网站在线播放 |