vue.js基础之简单的组件传值

v-bind 简写 :

v-on 简写 @

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="js/vue.js"></script><!-- 引入vue -->
	</head>
	<body>
		<div id="app">
			<input type="text" v-model="inputValue"/><!-- 双向绑定 -->
			<button v-on:click="handleBtnClick">提交</button><!-- 绑定事件 -->
			<ul>
				<!-- <li v-for="item in list">{{item}}</li>循环list数据 -->
				<todo-item v-bind:content="item"
				:index="index"
				 v-for="(item,index) in list"
				 @shuju="handleItemDelete">
				 </todo-item>
			</ul>
		</div>
		<script>
		//全局组件
		// Vue.component("TodoItem",{
		// 	props:['content'],//接收v-bind绑定的content
		// 	template:"<li>{{content}}</li>"
		// })
		
		//局部组件,需要在根vue实例里面components说明
		var TodoItem = {
			props:['content','index'],
			template:"<li @click='handleTtemClick'>{{content}}</li>",//绑定点击事件
			methods:{
				handleTtemClick:function(){
					this.$emit("shuju",this.index);//接收点击哪个数据的值
				}
			}
		}
		
			var app = new Vue({
				el:'#app',
				components:{
					TodoItem:TodoItem,
				},
				data:{
					list:[],
					inputValue:''
				},
				methods:{
					handleBtnClick:function(){//点击button使用此函数
						this.list.push(this.inputValue)//数组新增数据
						this.inputValue = ''//每提交一次清空输入框内容
					},
					handleItemDelete:function(index){
						this.list.splice(index,1)//实现点击删除数据
					}
				}
			})
		</script>
	</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值