vue編寫簡單的購物車功能
更新時間:2021年01月08日 08:21:24 作者:狗子_Lyi
這篇文章主要為大家詳細介紹了vue編寫簡單的購物車功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
使用vue寫出簡單的購物車,供大家參考,具體內(nèi)容如下
代碼:
// An highlighted block <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .cl{ border: 1px solid black; width: 300px; margin: 30px; padding: 15px; } </style> </head> <body> <div id="app"> <div class="cl" v-for="(item,index) in items"> <h4>{{item.sname}}</h4> <button @click="item.sum==0?item.sum==0:item.sum--">-</button> <span>{{item.sum}}</span> <button @click="item.sum++">+</button> <span>{{item.sprice}}元/斤</span> </div> <table> <tr> <th>選擇</th> <th>商品名</th> <th>商品數(shù)量</th> <th>商品價格</th> </tr> <tr v-for="(item,index) in items"> <td><input type="checkbox" :checked="item.isSelect" @click="item.isSelect=!item.isSelect"></td> <td>{{item.sname}}</td> <td>{{item.sum}}</td> <td>{{item.sprice*item.sum}}</td> </tr> <tr> <td><input type="checkbox" @click="selectProduct(isSelectAll)" :checked="isSelectAll">全選</tf> <td>合計</tf> <td>{{total.totalNum}}</tf> <td>{{total.totalPrice}}</tf> </tr> </table> </div> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script> new Vue({ el:'#app', data:{ items:[ { 'sname':'蘋果', 'sum':1, 'sprice':'10', }, { 'sname':'香蕉', 'sum':1, 'sprice':'12', }, { 'sname':'橘子', 'sum':1, 'sprice':'8', }, ] }, methods:{ selectProduct:function(_isSelect){ for(var i=0 ,len=this.items.length;i<len;i++){ this.items[i].isSelect=!_isSelect; } }, }, computed:{ isSelectAll:function(){ return this.items.every(function(val){return val.isSelect}) }, total:function(){ var prolist = this.items.filter(function(val){return val.isSelect}); totalpri = 0; totalnum = 0; for (var i = 0;i<prolist.length;i++){ totalpri+=prolist[i].sprice*prolist[i].sum; totalnum+=prolist[i].sum } return{totalNum:totalnum,totalPrice:totalpri} } }, mounted:function(){ var _this=this; this.items.map(function(item){ _this.$set(item,'isSelect',false) }) } }) </script> </body> </html>
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
vue2前端調(diào)用WebSocket有消息進行通知代碼示例
在Vue項目中實現(xiàn)全局的消息鏈接監(jiān)聽主要涉及到了WebSocket技術,這是一種雙向通信協(xié)議,允許客戶端與服務器之間實時、高效地交換數(shù)據(jù),這篇文章主要給大家介紹了關于vue2前端調(diào)用WebSocket有消息進行通知的相關資料,需要的朋友可以參考下2024-07-07Vue項目打包、合并及壓縮優(yōu)化網(wǎng)頁響應速度
網(wǎng)站頁面的響應速度與用戶體驗息息相關,直接影響到用戶是否愿意繼續(xù)訪問你的網(wǎng)站,所以這篇文章主要給大家介紹了關于Vue項目打包、合并及壓縮優(yōu)化網(wǎng)頁響應速度的相關資料,需要的朋友可以參考下2021-07-07vue中el-date-picker選擇日期的限制的項目實踐
ElementUI的el-date-picker使用時,有時候想要限制用戶選擇的時間范圍,本文就來介紹了vue中el-date-picker選擇日期的限制的項目實踐,感興趣的可以了解一下2023-10-10