Vue的事件处理

本文介绍了Vue框架中的事件处理,包括事件绑定监听、事件修饰符如prevent和stop,以及按键修饰符如keycode和keyName的使用。通过示例代码展示了如何在Vue中有效地管理事件。

Vue的事件处理

vue的事件处理主要分为三类:

  • 事件的绑定监听
    1. v-on:xxx=“fun”
    2. @xxx=“fun”
    3. @xxx=“fun(参数)”
    4. 默认事件形参: event
    5. 隐含属性对象: $event
  • 事件修饰符
    1. prevent : 阻止事件的默认行为 event.preventDefault()
    2. stop : 停止事件冒泡 event.stopPropagation()
  • 按键修饰符
    1. keycode : 操作的是某个 keycode 值的键
    2. keyName : 操作的某个按键名的键(少部分)

具体使用代码如下:

<div id="demo">
			<h2> 1.事件绑定</h2>
			<button @click="test1">test1</button>
			<button @click="test2('hello world')">test2</button>
			<button @click="test3()">test3</button>
			<button @click="test4('123',$event)">test4</button>

			<h2> 2.事件修饰符</h2> >

			<div style="width: 200px; height: 200px; background: red;" @click="test5">
				<div style="width: 100px; height: 100px; background: blue;" @click.stop="test6"></div>
			</div>
			<a href="http://www.baidu.com" @click.prevent="test7">百度</a>

			<h2> 3.按键修饰符</h2>
			<!--
            	描述:我们想要的效果是我们输入内容,然后按enter键,显示我们输入的内容
            	直接在方法后面加上.enter或者.13即可
            -->
			<input type="text" @keyup.enter="test8" />

</div>

		<script src="../js/vue.min.js"></script>
		<script type="text/javascript">
			new Vue({
				el: '#demo',
				data: {
				},
				methods: {
					test1: function() {
						console.log('test1');
					},
					test2: function(msg) {
						console.log(msg);
					},
					test3: function(event) {
						console.log(event.target.innerHTML);
					},
					test4: function(number, event) {
						console.log(number + '---' + event.target.innerHTML);
					},
					test5: function() {
						console.log('out');
					},
					//阻止事件冒泡
					test6: function() {
						//event.stopPropagation();
						console.log('inner');
					},
					test7: function() {
						//event.preventDefault();
						console.log('点击了');
					},
					test8: function(event) {
						/*if(event.keyCode === 13) {
							console.log(event.target.value + ' ' + event.keyCode);
						}*/

						console.log(event.target.value + ' ' + event.keyCode);
					}
				}
			})
		</script>

效果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值