vue开发Tips:用具体实例去理解v-on指令的基本应用 - Web前端
作者:98wpeu发布时间:2026-09-02分类:网页前端技术浏览:2
导读:分享一个vue开发tips:理解v-on指令。监听事件可以用v-on指令监听DOM事件,并在触发时运行一些javascript代码。事件代码可以直接放到v-on后面,也可...

分享一个vue开发tips:理解v-on指令。
监听事件
可以用 v-on 指令监听 DOM 事件,并在触发时运行一些 javascript代码。事件代码可以直接放到v-on后面,也可以写成一个函数。
示例代码如下:
<div id="APP">
<p>{{counter}}</p>
<button @click="counter += 1">+1</button>
<button @click="suBTract(10)">-10</button>
</div>
<script>
const app = new vue({
el: "#App",
data: {
counter: 0
},
methods: {
subtract(value){
this.counter-=value
}
}
})
</script>传入event参数
如果在事件处理函数中,想要获取原生的dom事件,那么在html代码中,调用的时候,可以传递一个$event参数。
示例代码如下:
<button v-on:click="subtract(10,$event)">减10</button>
...
<script>
...
methods: {
subtract: function(value,event){
this.count -= value;
console.log(event);
}
}
...
</script>事件修饰符
在事件处理程序中调用 event.PReventDefault() 或 event.stoppropagation() 是非常常见的需求。尽管我们可以在方法中轻松实现这点,但更好的方式是:方法只有纯粹的数据逻辑,而不是去处理 DOM 事件细节。
为了解决这个问题,vue.js 为 v-on 提供了事件修饰符。之前提过,修饰符是由点开头的指令后缀来表示的。
.stop:
event.stopPropagation,阻止事件冒泡。.prevent:
event.preventDefault,阻止默认行为.capture:事件捕获。
.self:代表当前这个被点击的元素自身。
.once:这个事件只执行一次。
.passive:在页面滚动的时候告诉浏览器不会阻止默认的行为,从而让滚动更加顺畅。
DemO1:阻止单击事件继续传播:
<div id="app">
<div @click="divClick">
1111
<button @click.stop="btnClick">按钮</button>
</div>
</div>
<script>
let app = new VUE({
el: "#app",
data: {
count: 0
},
methods: {
divClick(){
console.log("divClick")
},
btnClick(){
console.log("btnClick")
}
}
});
</script>DEMO2:提交事件不再重载页面:
<div id="app">
<FORM action="">
<label>
<input type="text">
</label>
<label>
<input type="submit" value="提交">
</label>
</form>
</div>
<script>
const app = new Vue({
el: "#app",
data: {
}
})
</script>以上是最标准的提交数据的代码,提交完后会自动跳转到百度,但是现在有个需求,我们希望输入完数据后,不会自动跳转到百度,而是通过自己的方法,先处理数据,处理完后,自己指定页面跳转,
代码如下:
<div id="app">
<Form action="https://www.bAIdu.com">
<label>
<input type="text">
</label>
<label>
<input type="submit" value="提交" @click.prevent="testClick">
</label>
</form>
</div>
<script>
const app = new Vue({
el: "#app",
methods: {
testClick(){
}
}
})
</script>这里我们给submit绑定了一个点击事件,并使用.prevent阻止了他的默认行为。
相关推荐
- 让前端泪流满面的设计还原工具 - Web前端
- 微软在浏览器中直接提供其 VS Code 工具 - Web前端
- Windows 11 常见问题解答:我们的升级指南以及您需要了解的所有其他信息 - Web前端
- 正则表达式:JS正则RegExp对象 - Web前端
- 分析下原生JS里的hasOwnProperty的属性 - Web前端
- 退出中国?Yahoo停止中国产品及服务 - Web前端
- vue开发:聊聊自定义指令基础知识以及在具体项目的应用 - Web前端
- 微软正在添加另一种使用在线服务体验包更新 Windows 11 的方法 - Web前端
- Mozilla Firefox 加入实施全球隐私控制的浏览器 - Web前端
- 原生JS小应用:模拟电商首页产品“楼层”定位应用 - Web前端
- 网页前端技术排行
-
- 1[Web前端]用javascript实现默认图片替代未显示的图片 - Web前端
- 2分析Iconfont-阿里巴巴矢量常用图标库 - Web前端
- 3jQuery实例教程:制作网页中可折叠的面板 - Web前端
- 4【第六章】Foundation之按钮和下拉功能 - Web前端
- 5基于jquery的滚动条滚动固定div(附演示下载) - Web前端
- 6jQuery编写widget的一些技巧分享 - Web前端
- 7分享精心挑选的12款优秀jQuery Ajax分页插件和教程 - Web前端
- 8在Mac/PC上远程调试iPhone/iPad上的网页 - Web前端
- 9jQuery实现鼠标移到元素上动态提示消息框效果 - Web前端
- 最近发表
-
- WordPress随机显示特色图片插件:Random Post Thumbnails
- KeePass实现Chrome浏览器自动填充密码方法一
- LNMP一键包nginx 301强制跳转到https教程
- KeePass实现Chrome浏览器自动填充密码方法二
- #建站# 免费的VPS管理软件Xshell8/Xftp8中文版下载
- 使用Xshell 8连接VPS教程_电脑登录vps的方法
- WordPress评论界面添加烟花????效果
- 不同浏览器书签同步方案:坚果云+Floccus_详细使用教程
- iOS端KeePassXC客户端APP:Strongbox Password Safe
- 给WordPress评论中的Gravatar头像图片添加ALT属性


