Vue全家桶之Vue事件基础语法

Vue如何处理事件?

1.v-on指令用法

v-on用来绑定事件的,形式如:v-on:click绑定点击事件,可以缩写为

click;

v-on指令用法

通过v-on来给元素绑定事件,在HTML元素中使用data中定义的数据num不需要加this,上面两种v-on都能实现改变num

绑定事件让num++

但是通常开发中我们不这样写,毕竟开发中逻辑更加复杂,直接吧JavaScript代码写在v-on指令里面可不行,所以v-on还能接收一个需要调用的方法名称

2.事件函数的调用方式

接收调用的方法名称

接收的方法名称可以带()也可以不带,之后再在Vue实例里面定义这个函数

注意this

这样当我们点击按钮时就会调用handle这个函数,逻辑就写在函数里面,让num++,methods中主要是定义一些函数,我们定义函数就在methods里面定义,handle:function()可以省略function,书写更加简单

简写写法

3.事件函数参数传递

事件传参数的方式

如果事件直接绑定函数名称(handle1),那么默认会传递事件对象(event)作为事件函数的第一个参数

如果事件绑定函数调用(handle2),那么事件对象(event)必须作为最后一个参数显示传递,并且事件对象的名称必须是$event

打印事件对象e(event)打印结果

通过输出事件对象e(event)能够找到他的target属性,e.target也就是我们的button点击/button标签

拿到标签就能拿到标签的内容(e.target.innerHTML)点击,例如这样就能通过事件对象做很多逻辑

事件修饰符

在事件处理程序中调用event.preventDefault()阻止默认行为或event.stopPropagation()阻止事件冒泡是非常常见的需求。

Vue不推荐我们操作DOM为了解决这个问题,Vue.js为v-on指令提供了事件修饰符,修饰符是由点开头的指令后缀来表示的

(1)阻止单击事件继续传播:a

click.stop=doThis/a

(2)提交事件不再重载页面:formv-on:submit.prevent=onSubmit/form

(3)修饰符可以串联即阻止冒泡也阻止默认事件:

av-on:click.stop.prevent=doThat/a

(4)只当在event.target是当前元素自身时触发处理函数即事件不是从内部元素触发的divv-on:click.self=doThat……/div

注意:使用修饰符时,顺序很重要;相应的代码会以同样的顺序产生。因此,用v-on:click.prevent.self会阻止所有的点击,而v-on:click.self.prevent只会阻止对元素自身的点击。

按键修饰符

在做项目中有时会用到键盘事件,在监听键盘事件时,我们经常需要检查详细的按键。Vue允许为v-on在监听键盘事件时添加按键修饰符

按键修饰符

自定义按键修饰符

自定义按键修饰符名字是自定义的,但是对应的值必须是按键对应event.keyCode值

语法:Vue.config.keyCodes.修饰符名称=对应键盘的ASCII码值(百度ASCII码值表)比如键盘上我们按字母a的时候它对应的ASCII码值是65,我们就可以自定义按键a的修饰符Vue.config.keyCodes.a=65,开发中就能限制用户按哪些键会展示对应的交互效果

Vue为什么不推荐我们操作DOM

在JavaScript中我们说过要想改变元素的样式效果,我们必须首先获取DOM元素,然后给事件元素绑定事件最后通过逻辑让它展现什么效果,但是在Vue为什么不推荐我们操作DOM

MVVM设计思想

MVVM是前端视图层的概念,主要


转载请注明:http://www.aierlanlan.com/rzgz/2936.html