<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<div id="box">
全选
<input type="checkbox" v-model="allcheck" @change="checkChange()">
<ul>
<li v-for="data in dataList">
<input type="checkbox" v-model="mylist" :value="data" @change="lichange()">
{{data}}
<button @click="prev(data)">-</button>
{{data.number}}
<button @click="data.number++">+</button>
</li>
</ul>
{{mylist}}
<p>总金额计算{{getSum()}}</p>
</div>
</body>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
var vm = new Vue({
el:"#box",
data:{
mylist:[],
allcheck:false,
dataList:[
{
name:"商品1",
price:10,
number:3,
id:'1'
},
{
name:"商品2",
price:14,
number:2,
id:'2'
},
{
name:"商品3",
price:20,
number:5,
id:'3'
},
{
name:"商品4",
price:7,
number:3,
id:'4'
},
]
},
methods:{
// 计算总价
getSum(){
var sum = 0
for(var i in this.mylist){
sum+=this.mylist[i].price*this.mylist[i].number
}
return sum
},
// 全选和全不选
checkChange(){
if(this.allcheck==true){
this.mylist=this.dataList
}else{
this.mylist=[]
}
},
// li改变全选
lichange(){
if(this.mylist.length==this.dataList.length){
this.allcheck=true
}else{
this.allcheck=false
}
},
// 数量-
prev(data){
data.number--;
if(data.number<=1){
data.number=1
}
}
}
})
</script>
</html>
VUE中购物车怎么做
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...