Vue.js 第十节:事件处理 复现

事件处理

监听事件

可以用v-on监听DOM事件,并在触发时运行一些Javascript代码。

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
        <script src="vue.js"></script>
    </head>
    <body>
        <div id='example'>
			<button v-on:click="counter += 1">数值:{{counter}}</button>
			<!-- 可以将JS代码直接写在v-on中,在下边代码申明counter默认值 -->
        </div>
        <script type="text/javascript">  
            var vm = new Vue({
                el:'#example', 
                data: {
					counter:0
					},
            }) 
        </script>
    </body>
</html>

但平时的时间处理中代码较为复杂,直接放在v-on指令中时不可行的,所以可以让v-on接受一个需要调用的函数名称。

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
        <script src="vue.js"></script>
    </head>
    <body>
        <div id='example'>
			<button v-on:click="test('hello')">test</button>
			<!-- 在初始化Vue对象中methords属性里定义test函数 -->
        </div>
        <script type="text/javascript">  
            var vm = new Vue({
                el:'#example', 
                data: {
					counter:0
					},
				methods: {
					// 声明函数以及函数体
					test:function(str){
						alert('xixi!');
						alert(this.counter);//其可调用data中属性值.
						alert(str);//可接受形参
					}
				}
            }) 
        </script>
    </body>
</html>

有时也需要在内联语句中访问原始DOM事件。可以用特殊变量 $event 把它传入方法:

    <body>
        <div id='example'>
			<button v-on:click="test('hello',$event)">test</button>
			<!-- 在此添加event时间 -->
        </div>
        <script type="text/javascript">  
            var vm = new Vue({
                el:'#example', 
                data: {
					counter:0
					},
				methods: {
					// 声明函数以及函数体
					test:function(str,e){
						alert('xixi!');
						alert(this.counter);//其可调用data中属性值.
						alert(str);//可接受形参
						console.log(e);//可以在控制台输出该事件
					}
				}
            }) 
        </script>
    </body>

控制台即可输出$event事件的相关信息
在这里插入图片描述

事件修饰符

具体修饰符可在vue,js官网中的文档查阅

v-on指令可以绑定html元素拥有的所有事件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值