<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
table{
text-align: center;
}
</style>
</head>
<body>
<div id="app">
<my></my>
</div>
<script src="js/vue.js"></script>
<script>
Vue.component('my',{
template:`
<div>
<my1 v-bind:num1="msg"></my1>
</div>
`,
data:function(){
return{
msg:[
{num:"1", name:"袜子", price:"5", you:"0"},
{num:"2", name:"外套", price:"180", you:"0"},
{num:"3", name:"杨梦娇", price:"1", you:"0"}
]
}
}
})
Vue.component('my1',{
props:['num1'],
template:`
<table border="" cellspacing="0" width="800px">
<tr>
<td>编号</td>
<td>名称</td>
<td>单价</td>
<td>数量</td>
<td>总价</td>
</tr>
<tr v-for="(l,index) in num1">
<td >{{l.num}}</td>
<td>{{l.name}}</td>
<td>{{l.price}}</td>
<td>
<button v-on:click="jian(index)">-</button>
{{l.you}}
<button v-on:click="alk(index)">+</button>
</td>
<td>{{l.price*l.you}}</td>
</tr>
<tr>
<td colspan="5">总价:{{zong}}</td>
</tr>
</table>
`,
data:function(){
return{
zong:'0'
}
},
methods:{
alk:function(index){
this.num1[index].you++;
var total = 0;
this.num1.forEach(function (l,index) {
total += l.price*l.you;
});
this.zong=parseFloat(total);
},
//减少
jian:function(index){
if( this.num1[index].you>1){
this.num1[index].you--;
}
var total = 0;//临时总价
this.num1.forEach(function (l,index) {
total += l.price*l.you;
});
this.zong=parseFloat(total);
}
}
})
new Vue({
el:'#app'
})
</script>
</body>
</html>
组件 购物车(嵌套)
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 其实在实际开发中,难免会遇到一些类似于需要listview嵌套listview或者RecyclerView嵌套Re...
- 一.效果图 1.UI布局 Activity 的代码 adpter 的代码 子类的适配器 数据bean event类...