实现购物车功能
当点击商品时,购物车内商品价格相加
//HTML部分
<div class="container">
<ul>
<li v-for="item in goods" v-on:click="addPrice(item)">{{item.price}}</li>
</ul>
<p>{{totalPrice}}</p>
</div>
//Vue对象
var app=new Vue({
el: ".container",
data:{
firstname:"111",
goods:[
{
price:10
},{
price:20
}],
totalPrice:0
},
methods:{
addPrice:function(item){
this.totalPrice+=item.price
}
}
})
调整多个商品数目实现总价格变动
<div class="container"> <ul> <li v-for="item in goods" v-on:click="addPrice()">{{item.price}} <button v-on:click="item.count = item.count -1 < 0 ? 0 : item.count-1">-</button>{{item.count}}<button v-on:click="item.count = item.count+1">+</button></li> </ul> <p>{{totalPrice}}</p> </div>
在商品栏有增加或删除商品的按钮,使用点击事件,对商品数目进行修改
由于涉及到多个商品使用v-for进行操作
li上绑定一个点击事件,处理总价格
var app=new Vue({ el: ".container", data:{ firstname:"111", goods:[ { price:10, count:0 },{ price:20, count:0 }], totalPrice:0 }, methods:{ addPrice:function(){ this.totalPrice=0 for(let item of this.goods){ this.totalPrice+=item.price*item.count } } //ES6 写法推荐 /* addPrice(){ this.totalPrice=0 for(let item of this.goods){ this.totalPrice+=item.price*item.count } }*/ } })
总价格的处理,当每次点击商品时,先将总价格清0再遍历之后将所有的价格相加
ES6中简化了methods中函数的写法
Last updated