Vue.js框架實(shí)現(xiàn)購物車功能
本文實(shí)例為大家分享了Vue.js框架實(shí)現(xiàn)購物車的具體代碼,供大家參考,具體內(nèi)容如下
<!DOCTYPE html> <html lang="en" xmlns:v-on="http://www.w3.org/1999/xhtml"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="../lib/vue.min.js"></script> </head> <body> <div id="app" style="position: relative;left: 30%"> <table cellpadding="10"> <thead> <th><input type="checkbox" v-model="cb" v-on:click="allSelect">全選</th> <th>名稱</th> <th>單價(jià)</th> <th>數(shù)量</th> <th>金額</th> <th>操作</th> </thead> <tbody> <tr v-for="x in info"> <td><input type="checkbox" v-model="x.bol" v-on:click="sign()"></td> <td>{{x.name}}</td> <td>{{x.price}}</td> <td><input type="number" v-model="x.num" min="0" style="width: 50px;text-align: center" v-on:click="count(x)" v-on:change="count(x)"></td> <td>{{x.total}}</td> <td><button v-on:click="del(x)">刪除</button></td> </tr> </tbody> </table> <Br> <p>總金額:{{all}}</p> </div> <script> var vm = new Vue({ el: "#app", data: { all: 0, cb: false, info: [{ bol: false, name: "iphone7", price: 6000, num: 1, total: 6000 }, { bol: false, name: "榮耀6x", price: 1200, num: 1, total: 1200 }, { bol: false, name: "dell筆記本", price: 4000, num: 1, total: 4000 }] }, methods: { //計(jì)算單價(jià) count: function(obj) { for(var i = 0; i < this.info.length; i++) { // if(this.info[i] == obj) { this.info[i].total = obj.price * obj.num; } //如果被選中了,就計(jì)算總價(jià)格 if(obj.bol) { this.allSelect(); } } }, //刪除 del: function(obj) { this.info.splice(this.info.indexOf(obj), 1) this.allCount(); }, //單選 sign: function() { this.allCount(); }, //全選 allSelect: function() { for(var i = 0; i < this.info.length; i++) { this.info[i].bol = this.cb; } this.allCount(); }, //計(jì)算總價(jià) allCount: function() { //每次計(jì)算總價(jià)都要清空 this.all = 0; for(var i = 0; i < this.info.length; i++) { //計(jì)算被選中的商品 if(this.info[i].bol) { this.all += this.info[i].total; } } } } }) </script> </body> </html>
效果圖:
更多文章可以點(diǎn)擊《Vue.js前端組件學(xué)習(xí)教程》學(xué)習(xí)閱讀。
關(guān)于vue.js組件的教程,請(qǐng)大家點(diǎn)擊專題vue.js組件學(xué)習(xí)教程進(jìn)行學(xué)習(xí)。
更多vue學(xué)習(xí)教程請(qǐng)閱讀專題《vue實(shí)戰(zhàn)教程》
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Vue 3項(xiàng)目如何安裝Element-Plus
Element Plus 是一個(gè)基于 Vue 3 的現(xiàn)代前端UI框架,它旨在提升開發(fā)體驗(yàn),并為開發(fā)者提供高效、優(yōu)雅的組件,在本文中將詳細(xì)介紹如何在 Vue 3 項(xiàng)目中安裝 Element Plus,感興趣的朋友一起看看吧2024-07-07關(guān)于Nuxt的五種渲染模式的差異和使用場景全解析
這篇文章主要介紹了關(guān)于Nuxt的五種渲染模式的差異和使用場景全解析,在過去傳統(tǒng)開發(fā)中,頁面渲染任務(wù)是由服務(wù)端完成的,那么Nuxt是如何渲染的呢,需要的朋友可以參考下2023-04-04基于Vue和Element-Ui搭建項(xiàng)目的方法
這篇文章主要介紹了基于Vue和Element-Ui搭建項(xiàng)目的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09vue webpack多頁面構(gòu)建的實(shí)例代碼
這篇文章主要介紹了vue webpack多頁面構(gòu)建的實(shí)例代碼,代碼簡單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2018-09-09Vue解決element-ui消息提示$message重疊問題
這篇文章主要為大家介紹了Vue解決element-ui消息提示$message重疊問題,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08vue3.0中使用element UI表單遍歷校驗(yàn)問題解決
本文主要介紹了vue3.0中使用element UI表單遍歷校驗(yàn)問題解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04