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

您的位置:首頁技術(shù)文章
文章詳情頁

Vue組件簡易模擬實(shí)現(xiàn)購物車

瀏覽:6日期:2022-10-17 11:48:17

本文實(shí)例為大家分享了Vue組件模擬實(shí)現(xiàn)購物車的具體代碼,供大家參考,具體內(nèi)容如下

Vue組件簡易模擬實(shí)現(xiàn)購物車

代碼:

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <meta name='viewport' content='width=device-width, initial-scale=1.0'> <title>Document</title> <script src='http://m.cgvv.com.cn/bcjs/lib/vue-2.4.0.js'></script> <style> #app{ width:600px; } #myTable{ width:500px; border-collapse:collapse; } td, th{ text-align: center; font-size:20px; border:2px solid black; } td{ height: 40px; } input{ width: 30px; text-align: center } </style></head><body> <div id='app'> <my-cart></my-cart> </div> <script> var MyCommmodity = { props: ['list'], template:` <div> <button @click='baicai'>白菜</button> <button @click='qingcai'>青菜</button> <button @click='luobo'>蘿卜</button> </div> `, methods: { baicai: function(){ var cai = {}; cai.id = 4; cai.name = '白菜' cai.price = 3; cai.num = 1; this.list.push(cai) }, qingcai: function(){ var cai = {}; cai.id = 5; cai.name = '青菜' cai.price = 6; cai.num = 1; this.list.push(cai) }, luobo: function(){ var cai = {}; cai.id = 6; cai.name = '蘿卜' cai.price = 8; cai.num = 1; this.list.push(cai) } } } var MyTable = { props: ['list', 'flag'], template:` <table id='myTable'> <tr> <th>編號</th> <th>名稱</th> <th>單價(jià)</th> <th>數(shù)量</th> <th>操作</th> </tr> <tr :key='item.id' v-for='item in list'> <td>{{item.id}}</td> <td>{{item.name}}</td> <td>{{item.price}}</td> <td> <button :disabled='flag' @click='sub(item.id)'>-</button> <input type='text' :value='item.num' @blur='changeNum(item.id,$event)'> <button @click='add(item.id)'>+</button> </td> <td> <button @click='del(item.id)'>刪除</button> </td> </tr> </table> `, methods: { changeNum: function(id, event){ this.$emit('change-num',{ id: id, type: 'change', num: event.target.value }); }, sub: function(id){ this.$emit('change-num',{ id: id, type: 'sub' }) }, add: function(id){ this.$emit('change-num',{ id: id, type: 'add' }) },del: function(id){ // alert(id); this.$emit('del-cart',id) } } } var MyPrice = { props: ['list'], template:` <div> <span>結(jié)算:</span> <span>{{total}}</span> </div> `, computed: { total: function(){ var t = 0; this.list.forEach(item => { t += item.price * item.num; }); return t; } } } Vue.component(’my-cart’, { data () { return { flag:false, list:[{ id: 1, name: '豬', price: '10', num:1, }, { id: 2, name: '牛', price: '11', num:1, }, { id: 3, name: '雞', price: '13', num:1, }] } }, template:` <div> <my-commmodity :list='list'></my-commmodity> <my-table :list='list' :flag='flag' @change-num='changeNum($event)' @del-cart='delCart($event)'></my-table> <my-price :list='list'></my-price> </div> `, components:{ ’my-table’:MyTable, ’my-price’:MyPrice, ’my-commmodity’:MyCommmodity, }, methods:{ changeNum: function(val){ if(val.type ==='change'){ this.list.some(item=>{ if(item.id == val.id){item.num = val.num;return true; } }); }else if(val.type ==='sub'){ this.list.some(item=>{ if(item.id == val.id && item.num >0){item.num -= 1;return true; } }); }else if(val.type ==='add'){ this.list.some(item=>{ if(item.id == val.id){item.num += 1;return true; } }); } }, delCart: function(id){ var index = this.list.findIndex(item=>{ return item.id == id; }) this.list.splice(index,1) } } }) var vm = new Vue({ el: ’#app’, data:{ } }) </script></body></html>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 99re国产视频 | 国产成人a视频在线观看 | 日本aaaa特级毛片 | 国产精品久久精品 | 九九免费精品视频 | 久久精品国产亚洲7777小说 | 精品厕拍 | 成人亚洲精品7777 | 成人毛片全部免费观看 | 国产91免费在线 | 一区二区三区免费视频播放器 | 精品久久久久不卡无毒 | 牛人国产偷窥女洗浴在线观看 | 国产成人丝袜网站在线看 | 国产浮力第一页草草影院 | 老头巨大粗长xxxxx | 国产精品一二三区 | 小明日韩在线看看永久区域 | 亚洲视频国产 | 泰国一级毛片aaa下面毛多 | 欧美高清免费一级在线 | 久久九九精品一区二区 | 欧美成人性做爰 | 喷潮白浆直流在线播放 | 久久久久久精 | 国产精品视频自拍 | 欧美一区二区三区视频 | 欧美俄罗斯一级毛片 | 特级淫片国产免费高清视频 | 九色视频在线观看免费 | 亚洲国产人成中文幕一级二级 | 国产一级不卡毛片 | 免费观看日本特色做爰视频在线 | 九九国产精品九九 | 综合久色 | 国内xxxx乱子另类 | 成年女人看片免费视频频 | 免费视频成人国产精品网站 | 日本道综合一本久久久88 | 大臿蕉香蕉大视频成人 | 男女上下爽无遮挡午夜免费视频 |