怎么基于vue.js實現購物車

這篇文章主要介紹了怎么基于vue.js實現購物車,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

運河ssl適用于網站、小程序/APP、API接口等需要進行數據傳輸應用場景,ssl證書未來市場廣闊!成為創新互聯的ssl證書銷售渠道,可以享受市場價格4-6折優惠!如果有意向歡迎電話聯系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!

怎么基于vue.js實現購物車

template

<template>
<div class="all">
<div class="head">
<span>購物車</span>
</div>
<ul class="menu">
<li class="li">
<input type="checkbox" id="all" v-model="checkedAll" @change="checkedAllChange()">
<label for="all"></label>
全選
</li>
<li class="li">商品代碼</li>
<li class="li">商品名稱</li>
<li class="li">商品單價</li>
<li class="li">商品數量</li>
<li class="li">商品庫存</li>
<li class="li">商品小計</li>
</ul>
<div>
<ul v-for="data in data" :key="data.code" class="menu">
<li class="li">
<input type="checkbox" name="commodity" v-model="checked" :value="data" @change="changeAll()" >
</li>
<li class="li">{{data.code}}</li>
<li class="li">{{data.name}}</li>
<li class="li">¥{{data.price}}</li>
<li class="li">
<div @click="SubNum(data)">-</div>
<input type="number" v-model.lazy="data.number" @change="numberChange(data)" >
<div @click="AddNum(data)">+</div>
</li>
<li class="li">{{data.stock}}</li>
<li class="li">¥{{data.number*data.price}}</li>
</ul>
</div>
<div class="info">
<p>{{commodityNumber}}件商品</p>
<p>總計:<span>¥{{numberAll}}</span></p>
</div>
</div>
</template>

script

<script>
export default {
data() {
return {
checkedAll: false,
checked: [],
totalPrice: 0,
data: {
one: {
code: 10001,
name: "商品一",
price: 26,
number: 1,
stock: 6
},
two: {
code: 10002,
name: "商品二",
price: 34,
number: 1,
stock: 14
},
three: {
code: 10003,
name: "商品三",
price: 48,
number: 1,
stock: 2
},
four: {
code: 10004,
name: "商品四",
price: 63,
number: 1,
stock: 12
},
five: {
code: 10005,
name: "商品五",
price: 50,
number: 1,
stock: 92
}
}
};
},
mounted() {},
methods: {
//判斷全選事件
checkedAllChange() {
if (this.checkedAll) {
for (let i in this.data) {
this.checked.push(this.data[i]);
}
} else {
this.checked = [];
}
},
changeAll() {
if (this.checked.length == Object.keys(this.data).length) {
this.checkedAll = true;
} else {
this.checkedAll = false;
}
},
// 加減
SubNum(data) {
data.number--;
if (data.number < 1) {
data.number = 1;
}
},
AddNum(data) {
data.number++;
if (data.number > data.stock) {
data.number = data.stock;
}
},
//輸入
numberChange(data) {
if (data.number > data.stock) {
data.number = data.stock;
}
}
},
computed: {
//商品數量
commodityNumber() {
return this.checked.length;
},
//總價
numberAll() {
var numberAll = 0;
for (let i in this.checked) {
numberAll += this.checked[i].number * this.checked[i].price;
}
return numberAll;
}
}
};
</script>

css

<style lang="scss" scoped type="text/css">
ul,
li {
list-style: none;
}
.all {
width: 800px;
height: 500px;
background: #fff;
border: 1px solid #177ecb;
margin-left: 300px;
.head {
background: #177ecb;
height: 36px;
line-height: 36px;
color: #fff;
padding-left: 15px;
}
.menu {
height: 32px;
width: 100%;
border-bottom: 1px solid #d4d4d4;
padding: 0 15px;
display: flex;
.li {
line-height: 32px;
flex: 1;
border-right: 1px solid #d4d4d4;
text-align: center;
input[type="number"] {
width: 40px;
display: inline-block;
height: 20px;
}
div {
width: 20px;
height: 20px;
padding: 0;
display: inline-block;
background: #333;
color: #fff;
line-height: 20px;
text-align: center;
cursor: pointer;
}
div:active {
background: #999;
}
}
.li:nth-of-type(3) {
flex: 2;
}
.li:last-child {
border: 0;
}
}
.menu + div {
height: 350px;
margin-bottom: 20px;
border-bottom: 1px solid #177ecb;
}
.info {
text-align: right;
margin-right: 20px;
span {
color: #f00;
font-size: 20px;
font-weight: 900;
}
}
}
</style>

感謝你能夠認真閱讀完這篇文章,希望小編分享的“怎么基于vue.js實現購物車”這篇文章對大家有幫助,同時也希望大家多多支持創新互聯,關注創新互聯行業資訊頻道,更多相關知識等著你來學習!

標題名稱:怎么基于vue.js實現購物車
文章分享:http://m.kartarina.com/article46/pphchg.html

成都網站建設公司_創新互聯,為您提供App開發軟件開發ChatGPT營銷型網站建設網站設計網站設計公司

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

h5響應式網站建設
主站蜘蛛池模板: 亚洲乱亚洲乱少妇无码| 西西午夜无码大胆啪啪国模| 亚洲AV无码AV男人的天堂| 无码日韩精品一区二区免费暖暖| 久久久无码人妻精品无码| 亚洲国产精品无码久久青草 | 无码爆乳护士让我爽| 在线精品免费视频无码的| 日韩爆乳一区二区无码| 亚洲高清无码综合性爱视频| 精品欧洲av无码一区二区| 中文字幕av无码专区第一页| 国产精品无码免费视频二三区| 无码人妻精品一区二区三| 亚洲成a人无码av波多野按摩| 亚洲av无码一区二区三区在线播放| AV无码精品一区二区三区宅噜噜| 亚洲AV无码一区二区大桥未久| 无码国内精品人妻少妇| 国内精品无码一区二区三区| 国产乱人伦中文无无码视频试看| 人妻丰满熟妇AV无码片| 无码日韩精品一区二区三区免费 | 亚洲AV无码码潮喷在线观看| 国产精品va无码免费麻豆 | 无码精品人妻一区二区三区免费看| 97无码免费人妻超级碰碰碰碰 | 人妻中文字幕无码专区| 国产成人无码一区二区三区在线| 日韩精品无码人妻免费视频| 日韩放荡少妇无码视频| 在线观看成人无码中文av天堂| 日韩人妻无码一区二区三区99| 国产午夜精品无码| 亚洲VA中文字幕无码一二三区 | 国产午夜无码福利在线看网站| 亚洲午夜成人精品无码色欲| 69天堂人成无码麻豆免费视频| 无码人妻一区二区三区一| 啊灬啊别停灬用力啊无码视频| 亚洲精品无码久久久久YW|