vue 使用组件写出简易购物车

效果图

 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>使用组件实现购物车事件</title>
		<script src="../js/vue.js"></script>
	</head>
	<body>
		<div id="app">
			<div v-html="msg"></div>
			<coma @lb="abb"></coma>
			<ul>
				<li v-for="(item,index) in list ">{{item.phone}} {{item.price}} {{item.num}}</li>
			</ul>
		</div>
	</body>
	<script type="text/javascript">
		let coma =({
			template: "<div>" +
				"<h3>{{liebiao[0]}}</h3>" +
				"<ul>" +
				"<li v-for='(item,index) in abb ':key='item.id'>{{item.id}}、{{item.phone}} <button @click='btn(index)'>添加</button></li>" +
				"</ul>" +
				"<h3>{{liebiao[1]}}</h3>" +
				"</div>",
			data() {
				return {
					liebiao: ['产品列表', '我的购物车'],
					abb: [{
							id: 1,
							phone: "华为手机",
							price: 2000,
							num: 1
						},
						{
							id: 2,
							phone: "锤子手机",
							price: 2300,
							num: 2
						}, {
							id: 3,
							phone: "小米手机",
							price: 2500,
							num: 1
						}
					]
				}
			},
			methods:{
				btn(index) {
					this.$emit("lb", this.abb[index])
				}
			}
		})
		new Vue({
			el: "#app",
			data: {
				msg: "<h1>使用组件实现购物车</h1>",
				list: []
			},
			methods: {
				abb(data){
					for (let i = 0; i < this.list.length; i++) {
						if(this.list[i].phone==data.phone){
							this.list[i].num++
							return
						}
					}
					this.list.push(data)
				}
			},
			components: {
				coma
			},
		})
	</script>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值