vue實(shí)現(xiàn)購物車列表
本文實(shí)例為大家分享了vue實(shí)現(xiàn)購物車列表的具體代碼,供大家參考,具體內(nèi)容如下
功能:
刪除 單選 全選 增加數(shù)量 減少數(shù)量 計(jì)算總價(jià) 計(jì)算數(shù)量 搜索代碼:
<!DOCTYPE html><!DOCTYPE html><html> <head> <meta charset='utf-8'> <title></title> <script src='http://www.b3g6.com/bcjs/js/vue.js'></script> </head> <body> <div id='app'> 篩選:<input type='text' v-model='key'> <table border='1' cellspacing='0' cellpadding='10'> <tr> <th> <input type='checkbox' v-model='all' @change='checkAll()' > </th> <th>id</th> <th>書籍名稱</th> <th>出版日期</th> <th>購買價(jià)格</th> <th>數(shù)量</th> <th>操作</th> </tr> <tr v-for='(item,index) in flist' :key='item.id'> <td style='text-align: center;'><input type='checkbox' v-model='item.sel' ></td> <td>{{item.id}}</td> <td>{{item.name}}</td> <td>{{item.time}}</td> <td>{{item.price|prices}}</td> <td><button @click='item.num--' :disabled='item.num==1'>-</button>{{item.num}}<button @click='item.num++'>+</button></td> <td><button @click='delItem(item.id)'>移除</button></td> </tr> <tr><td colspan='7'>總價(jià)格:{{total.price|prices}} 選擇數(shù)量:{{total.num}}</td></tr> </table> </div> <script> var vm = new Vue({ el:'#app', data:{ key:'', all:true, list:[ {id:1,name:'小紅書',time:'2018-8',price:188.99,num:1,sel:true}, {id:2,name:'小爛熟',time:'2019-8',price:88.9,num:1,sel:true}, {id:3,name:'小綠樹',time:'2017-5',price:133.00,num:1,sel:true}, {id:4,name:'發(fā)生的樹',time:'2020-1',price:68.80,num:1,sel:true}, {id:5,name:'奧古',time:'2015-4',price:555.50,num:1,sel:true }, ] }, methods:{ delItem(item){ var falg=window.confirm('確定要?jiǎng)h除嗎?'); if(falg){ this.list.splice(item-1,1) } }, checkAll(){ this.list.forEach(item=>item.sel=this.all) } }, watch:{ list:{ handler:function(){ this.all=this.list.every(item=>item.sel) }, deep:true } }, computed:{ total:function(){ var price=0; var num=0; this.list.forEach(item=>{ if(item.sel){price+=item.num*item.pricenum+=item.num*1 } }) return ({price,num}) }, flist:function(){ if(this.key===’’){return this.list} return this.list.filter(item=>item.name.includes(this.key)) } }, filters:{ prices:function(val,fix=2){ val=val.toFixed(fix) val=''+val return '¥'+val } }, }) </script> </body></html>

關(guān)于vue.js組件的教程,請(qǐng)大家點(diǎn)擊專題vue.js組件學(xué)習(xí)教程進(jìn)行學(xué)習(xí)。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Docker 部署 Prometheus的安裝詳細(xì)教程2. IntelliJ IDEA安裝插件的方法步驟3. idea給項(xiàng)目打war包的方法步驟4. IntelliJ IDEA設(shè)置背景圖片的方法步驟5. idea 打包的jar運(yùn)行報(bào) "XXX中沒有主清單屬性"6. idea重置默認(rèn)配置的方法步驟7. IntelliJ IDEA設(shè)置自動(dòng)提示功能快捷鍵的方法8. idea設(shè)置代碼格式化的方法步驟9. idea打開多個(gè)窗口的操作方法10. IntelliJ IDEA調(diào)整字體大小的方法

網(wǎng)公網(wǎng)安備