一、前言
vuejs中的事件绑定,使用<v-on:事件名 = 函数名>
来完成的,这里函数名是定义在Vue实例中的methods对象中的,Vue实例可以直接访问其中的方法。
二、事件绑定方式
1、 直接在标签中写js方法
<button v-on:click="alert('hi')">执行方法的第一种写法</button>
2、调用method的办法
<button v-on:click="run()">执行方法的第一种写法</button> <button @click="run()">执行方法的 简写 写法</button> export default { data () { return { msg: '你好vue', list:[] } }, methods:{ run:function(){ alert('这是一个方法'); } } }
(1)方法传参,方法直接在调用时在方法内传入参数
<button @click="deleteData('111')">执行方法传值111</button> <button @click="deleteData('222')">执行方法传值2222</button> deleteData(val){ alert(val); },
(2)传入事件对象
<button data-aid='123' @click="eventFn($event)">事件对象</button> eventFn(e){ console.log(e); // e.srcElement dom节点 e.srcElement.style.background='red'; console.log(e.srcElement.dataset.aid); /*获取自定义属性的值*/ }
三、事件修饰符
1、stop //阻止事件继续传播 即阻止它的捕获和冒泡过程
方法一: @click='show($event)'
我们有了事件对象后,我们函数中是不是就可以利用原生中的e.cancelBubble=true
;
方法二: @click.stop='show()'
只要在事件后面加 .stop 就可以阻止事件冒泡
举个例子:
实例:如下点击内部点击,阻止了冒泡过程,即只执行tz这个方法,如果不加.stop,先执行tz方法,后执行gett方法。即通过了冒泡这个过程。
<div v-on:click="gett"> 外部点击 <div v-on:click.stop="tz">内部点击</div> </div>
2、prevent //阻止默认事件:
方法一: @click='show($event)'
我们有了事件对象后,我们函数中是不是就可以利用原生中的 e.preventDefault();
方法二: @click.prevent='show()'
只要在事件后面加 .prevent 就可以阻止默认事件。
举个例子:阻止了a标签的默认刷新
<a href="" v-on:click.prevent>点击</a>
3、capture // 添加事件监听器时使用事件捕获模式,即在捕获模式下触发
实例:在点击最里层的点击6时,gett方法先执行,因为gett方法在捕获模式执行的,先与冒泡事件。下列执行顺序 geet->set->tz ,因为后俩个还是冒泡模式下触发的事件。
<div v-on:click.capture="gett">外部点击5 <div v-on:click="tz">内部点击5 <div v-on:click="set">点击6</div> </div> </div>
4、self //当前元素自身时触发处理函数时才会触发函数
原理:是根据event.target确定是否当前元素本身,来决定是否触发的事件/函数
实例:如果点击内部点击2,冒泡不会执行gett方法,因为event.target指的是内部点击2的dom元素,不是外部点击1的,所以不会触发自己的点击事件。
<div v-on:click.self="gett"> 外部点击1 <div v-on:click="tz">内部点击2</div> </div>
5、once //只触发一次
实例:
<div v-on:click.once="tz">once</div>
6、键盘事件
方法一:@keydown='show()'
当然我们传个$event 也可以在函数中获 ev.keyCode
if(ev.keyCode==13){ alert('你按了回车键!') }
方法二:
<input type="text" @keyup.enter="show()">回车执行 <input type="text" @keydown.up='show()' >上键执行 <input type="text" @keydown.down='show()' >下键执行 <input type="text" @keydown.left='show()' >左键执行 <input type="text" @keydown.right='show()' >右键执行
总结
以上所述是小编给大家介绍的vue实现绑定事件的方法实例代码详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
vue绑定事件
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。