Vue指令v-on

一、Vue中的v-on指令是什么?

v-on指令的作用是:为元素绑定事件。

二、v-on指令的简写

“v-on:“指令可以简写为”@”

三、v-on指令的使用

1、v-on指令绑定的方法定义在methods属性中。
2、v-on指令绑定的方法内部通过this关键字可以访问定义在data中数据。
案例代码执行如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
  <div id="appid">
    <p>1、事件绑定</p>
    <input type="button" value="鼠标点击事件绑定" v-on:click="dolt"> 
    <input type="button" value="鼠标移入事件绑定" v-on:mouseenter="dolt"> 
    <input type="button" value="鼠标双击事件绑定" v-on:dblclick="dolt"> 
    <br>
    <p>2、事件绑定( "v-on:"指令简写为"@")</p>
    <input type="button" value="鼠标点击事件绑定" @click="dolt"> 
    <input type="button" value="鼠标移入事件绑定" @mouseenter="dolt"> 
    <input type="button" value="鼠标双击事件绑定" @dblclick="dolt"> 
    <p>3、v-on指令绑定的方法定义在methods属性中,且方法内部可通过this关键字访问定义在data中数据。</p>
    <input type="button" value="火影忍者" @click="change">
    <h3 @click="change">{{school}}</h3>
  </div>
  <script>
    var app = new Vue({
      el: '#appid',
      data: {
        school: "火影忍者",
      },
      methods:{
        dolt:function(){
          alert("慕斯");
        },
        change:function(){
          console.log(this.school);
          this.school+="很好看!"
        }
      }
    })
  </script>
</body>
</html>

程序执行效果如下:
在这里插入图片描述
在这里插入图片描述

### Vue.js 中 `v-on` 指令的使用方法 #### 事件绑定基础 在 Vue.js 中,通过 `v-on:事件名称=函数名称` 的方式来实现 HTML 元素与 Vue 实例中定义的方法之间的连接[^1]。这种机制允许开发者轻松地响应用户的交互行为。 例如,下面展示了如何利用 `v-on` 来调用名为 `publishArticle` 的方法: ```html <button v-on:click="publishArticle">发布文章</button> ``` 当按钮被点击时,就会触发 `publishArticle()` 方法,并弹出提示框显示文章的相关信息[^3]。 #### 支持多种类型的DOM事件 除了常见的 click 事件外,还可以应用其他标准浏览器支持的事件类型到任何有效的HTML元素上[^2]。比如 input, submit 或者 keydown 等等。 #### 使用内联语句作为处理器 如果只需要简单的逻辑操作而不需要专门创建一个独立的方法,则可以直接写入一段 JavaScript 表达式: ```html <!-- 这里直接传递了一个字符串参数 --> <a href="#" v-on:mouseover="msg = '鼠标悬停'">{{ msg }}</a> <script type="text/javascript"> new Vue({ data () { return { msg : '' } }, }) </script> ``` #### 添加修饰符改变默认行为 为了更灵活地控制事件流以及键盘按键的选择,Vue 提供了一些特殊的修饰符用于增强 `v-on` 功能[^4]。例如 `.capture`, 它改变了事件冒泡顺序;还有像 `.prevent` 和 `.stop` 可以阻止表单提交或停止进一步传播事件。 对于捕获阶段的例子如下所示: ```html <div id="example-2"> <!-- 当子节点上的事件发生前会先触发父级 div 上注册过的带有 .capture 的 handler --> <p @click.capture="doThis"></p> </div> ``` 而对于防止默认动作的情况则是这样的: ```html <form @submit.prevent="onSubmit"> ... </form> ``` #### 结合实际案例理解 考虑这样一个场景:有一个父子结构的两个盒子,分别绑定了不同的点击事件处理程序。如果不加特殊说明,默认情况下点击内部的小方块也会引起外部大方块相应的行为变化(即事件冒泡)。但是如果我们希望只让最里面的那个区域响应特定的操作而不影响外面的部分怎么办呢?这时就可以借助于`.self`这个修饰符了! ```html <div id="outer-box" @click.self="handleOuterClick"> Outer Box (will only respond to clicks on itself) <div id="inner-box" @click="handleInnerClick"> Inner Box </div> </div> ``` 以上就是关于 Vue.js 中 `v-on` 指令的一些基本介绍及其应用场景下的具体运用技巧。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慕斯-ing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值