Vue中的事件处理

news/2024/7/10 1:12:22 标签: Vue

事件处理

v-on

我们可以用v-on来监听事件,后面跟上 “:事件名称”决定监听哪个事件,在赋值语句中声明可以带上方法名或内联语句。

它还有一种缩写格式:@

如:

方法名<input type="button" value="验证" v-on:click.stop="Valid" />

内联语句<input type="button" value="验证" v-on:click.stop="Valid($event)" />

我们在一些时候需要阻止默认事件或停止事件冒泡,这是我们常常会用到event.preventDefault() 或 event.stopPropagation()Vue帮我们封装了这些方法,只需要在事件名称后面添加.prevnet或.stop即可。

如:   

 <div id="app" v-on:click="FormClick">

        <form>

            <!--

            .stop可以停止事件的冒泡,这样就不会触发Form的FormClick事件了

            -->

            <input type="button" value="验证" v-on:click.stop="Valid" />

            <!--

            .prevent阻止默认行为,表单不会提交了

            -->

            <input type="submit" v-on:click.prevent="Submit" />

        </form>

</div>

在2.1.4版本中还新增了.once修饰符,它表示只触发一次事件处理函数。

在2.3.0中新增了.passive修饰符,它对应addEventListener中的passive选项,能够提高移动端的性能。它表示事件处理函数永远不会调用preventDefault()。

可以参考这篇文章:Passive事件监听器

在监听键盘事件时,我们经常要检查常见的键值,一般通过keyCode来判断点击了哪个按钮。Vue中定义了一些常用的按键修饰符如:.enter .tab .esc .space .left .right .delete 等。

 

为什么在 HTML 中监听事件?

你可能注意到这种事件监听的方式违背了关注点分离 (separation of concern) 这个长期以来的优良传统。但不必担心,因为所有的 Vue.js 事件处理方法和表达式都严格绑定在当前视图的 ViewModel 上,它不会导致任何维护上的困难。实际上,使用 v-on 有几个好处:

1. 扫一眼 HTML 模板便能轻松定位在 JavaScript 代码里对应的方法。

2. 因为你无须在 JavaScript 里手动绑定事件,你的 ViewModel 代码可以是非常纯粹的逻辑,和 DOM 完全解耦,更易于测试。

3. 当一个 ViewModel 被销毁时,所有的事件处理器都会自动被删除。你无须担心如何清理它们。


http://www.niftyadmin.cn/n/1740214.html

相关文章

C#如何调用多线程?

1. Thread 调用线程 Thread thread new Thread(Run1); Thread thread2 new Thread(Run2); thread.Start(); thread2.Start(); 2. ThreadPool 调用线程池 ThreadPool.QueueUserWorkItem(m > {Run1();}); ThreadPool.QueueUserWorkItem(m > {Run2();}); 3. Task 调…

什么是情感能力?

情感能力是一种建立在情商以上的、 可后天习得的能力&#xff0c;一个人在工作中表现得出类拔萃也有赖于这种能力。 自我意识、 激励、 自我调节、 同理心和处理人际关系&#xff0c;这五个因素是学习实用技能的基础&#xff0c;而情感能力决定我们学习到实用技能的潜力有多大。…

成功与失败的管理者

失败的管理者身上有两个常见的特点&#xff1a; 能力 描述 刻板 他们不能调整自己以适应组织文化。 如果有人对如何改善工作做出了反馈&#xff0c;他们无法接受这些反馈&#xff0c;或者无法听取这些意见&#xff0c;也无法从中学习得益。 不良的人际关系 这是他们最常出…

盲点

有人曾针对12家不同公司的数百名管理者进行了一项调查&#xff0c;结果发现&#xff0c;准确进行自我评估的能力是取得优秀业绩的关键&#xff0c;有些管理者表现欠佳&#xff0c;正是因为缺少对自己进行准确评估的能力。 而成功的管理者虽然不是全知全能&#xff0c;但是他们能…

天生我材必有用

改进之道 “为了做正确的事&#xff0c;即使为此丢了工作或是生命受到威胁&#xff0c;他也在所不惜。 ” 这种自信正是优秀的工作者必备的基本素质&#xff0c;缺乏这种素质&#xff0c;人们就没有自信心勇敢面对挑战。有了自信心&#xff0c;我们就能勇往直前&#xff0c;在…

理解Razor视图渲染

Razor视图引擎会编译应用程序中的视图&#xff0c;以改善性能。视图会被编译为C#的类&#xff0c;然后被编译。这就是视图能够如此方便地包含C#代码的原因。 在访问视图时&#xff0c;MVC会依照当前文件夹下&#xff0c;Shared文件夹按顺序访问。 视图的全部目的&#xff0c;是…

MySQL,Navicat,及其C#驱动在Windows平台的安装

MySQL在Windows平台的安装 这里有两个版本&#xff0c;一个是在线安装包&#xff0c;一个是离线安装包&#xff0c;这里我们选大的&#xff0c;安装过程全部点下一步就好。 安装完成后&#xff0c;我们进入doc&#xff0c;输入mysql –u root –p 然后输入密码&#xff0c;这时…

如何使用压力测试工具ab?

常用工具&#xff1a;ab Ab是Apache服务器自带的一个压力测试工具。Apache的ab命令模拟多线程并发请求&#xff0c;测试服务器负载压力&#xff0c;也可以测试nginx、lighthttp、IIS等其它Web服务器的压力。 ab命令对发出负载的计算机要求很低&#xff0c;既不会占用很多CPU&…