vue 事件处理器
事件处理器
1.监听事件
可以用v-on指令监听DOM事件来触发一些js代码。
2.方法事件处理器
许多事件处理的逻辑都很复杂,所以直接把js代码写在v-on指令中是不可行的。因此v-on可以接受一个定义的方法来调用
3.内联处理器方法
除了直接绑定到一个方法,也可以用内联js语句
有时也需要在内联语句处理器中访问原生DOM事件。可以用特殊变量$event把它传入方法。
|
// ...
methods: {
warn: function (message, event) {
// 现在我们可以访问原生事件对象
if (event) event.preventDefault()
alert(message)
}
}
|
4.事件修饰符
在事件处理程序中调用event.preventDefault()或event.stopPropagation()是非常常见的需求。尽管我们可以在methods中轻松实现这点,但更好的方式是:methods只有纯粹的数据逻辑,而不是去处理DOM事件细节。
为了解决这个问题,vue.js为v-on提供了事件修饰符。通过由点(.)表示的指令后缀来调用修饰符。
.stop.prevent.capture.self.once- <!-- 阻止单击事件冒泡 --><a v-on:click.stop="doThis"></a><!-- 提交事件不再重载页面 --><form v-on:submit.prevent="onSubmit"></form><!-- 修饰符可以串联 --><a v-on:click.stop.prevent="doThat"></a><!-- 只有修饰符 --><form v-on:submit.prevent></form><!-- 添加事件侦听器时使用事件捕获模式 --><div v-on:click.capture="doThis">...</div><!-- 只当事件在该元素本身(比如不是子元素)触发时触发回调 --><div v-on:click.self="doThat">...</div>
- <!-- 点击事件将只会触发一次 --><a v-on:click.once="doThis"></a>
- 不想其它只能对原生的DOM事件起作用的修饰符,.once修饰符还能被用到自定义的组件事件中
5.键值修饰符
在监听键盘事件时,我们经常需要监测常见的键值。Vue允许为v-on在监听键盘事件时添加关键修饰符。
为什么在HTML中监听事件?
你可能已经注意到这种监听事件的方式违背了关注点分离(separation of concern)传统理念。
不必担心,因为所有的vue.js事件处理方法和表达式都严格绑定在当前视图的viewModel上,它不会导致任何维护上的困难。实际上,使用v-on有几个好处
1,扫一眼HTML便能轻松定位在js代码里对应的方法。
2,因为你无须在js里手动绑定事件,你的viewModel可以是非常纯粹的逻辑,和DOM完全解耦,更易于测试。
3,当一个viewModel被销毁时,所有的事件处理器都会被自动删除,你无须担心如何清理他们。
vue 事件处理器的更多相关文章
- vue事件处理器
1.监听事件 可以用 v-on 指令监听 DOM 事件来触发一些 JavaScript 代码. 示例: <div id="example-1"> <button ...
- 关于vue.js中事件处理器的练习
html: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8 ...
- Vue.js学习 Item8 -- 方法与事件处理器
方法处理器 可以用 v-on 指令监听 DOM 事件: <div id="example"> <button v-on:click="greet&quo ...
- Vue深度学习(4)-方法与事件处理器
方法处理器 可以用 v-on 指令监听 DOM 事件: <div id="app"> <button v-on:click = "greet" ...
- Vue.js:事件处理器
ylbtech-Vue.js:事件处理器 1.返回顶部 1. Vue.js 事件处理器 事件监听可以使用 v-on 指令: v-on <div id="app"> &l ...
- Vue样式绑定和事件处理器
一.样式绑定 class 与 style 是 HTML 元素的属性,用于设置元素的样式,我们可以用 v-bind 来设置样式属性. v-bind 在处理 class 和 style 时, 专门增强了它 ...
- Vue进阶之事件处理器
过滤 <html> <head> <meta charset="UTF-8"> <meta name="viewport&quo ...
- 详解Vue 方法与事件处理器
本篇文章主要介绍了详解Vue 方法与事件处理器 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 方法与事件处理器 方法处理器 可以用 v-on 指令监听 DOM 事件 ...
- Vue - 事件绑定
1.内联方式: A:将事件处理器绑定到一个方法中,以下所有事件都以click事件作为案例 注意:内联方式下事件处理器只能绑定一个方法,要是想要绑定多个方法,依旧还是使用js中的addEventList ...
随机推荐
- Java学习笔记(4)
控制流程语句之---------switch选择判断语句 switch(你的选择) case 值1: 符合条件执行的语句: break: case 值2: 符合条件执行的语句: break: case ...
- Vimperator常用快捷键
分别往下/往上滚动窗口一行 j/k 左右滚动窗口 h/l 向下/向上滚动一屏的窗口 <Space>/<C-b> 向下/向上滚动半屏的窗口 <C-d>/< ...
- MR实现--矩阵乘法
import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.io ...
- u-boot-2012.10移植到AT91RM9200(包括NAND FLASH)
基于中嵌SRM9204 目 录 1 配置 1.1修改顶层Makefile(可选) 1.2配置 1.3下载.运行.测试 2 修改内存配置参数(根据芯片手册修改) 2.1 修改配置参数 2.2 编译 2 ...
- js splice()方法
splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目. 注释:该方法会改变原始数组. 实例 例子 1 在本例中,我们将创建一个新数组,并向其添加一个元素: <script ty ...
- ubuntu16.04_install_saltstack_更新版本
一.ubuntu16.04版本,安装saltstack 参考官方文档: https://repo.saltstack.com/#ubuntu 二.安装方法 Installs the latest re ...
- 前端传递参数,由于控制器层类实现了struts2的ModelDriven而产生的一个异常
产生的异常如下: ognl.MethodFailedException: Method "setId" failed for object com.aliyun.pcitcAliy ...
- Kubernetes用户指南(二)--部署组合型的应用、连接应用到网络中
一.部署组合型的应用 1.使用配置文件启动replicas集合 k8s通过Replication Controller来创建和管理各个不同的重复容器集合(实际上是重复的pods). Replicati ...
- HDU 2604 Queuing(矩阵高速幂)
题目地址:HDU 2604 这题仅仅要推出公式来,构造矩阵就非常easy了.问题是推不出公式来..TAT.. 从递推的思路考虑.用f(n)表示n个人满足条件的结果.假设最后一个是m则前n-1人能够随意 ...
- JavaScript 创建对象的几种模式
在JavaScript中虽说可以用Object的构造函数或者字面量创建单个对象,但是用这些方式来创建多个对象时就有一个明显的缺点,产生了大量的重复代码.为解决这些问题,许多模式就应运而生. 1. 工厂 ...