vue的$on方法_or指令的作用是

vue的$on方法_or指令的作用是v-on监听事件可以用v-on指令监听DOM事件,并在触发时运行一些JavaScript代码。事件代码可以直接放到v-on后面,也可以写成一个函数。示例代码如下:<divid

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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.jsv-on 提供了事件修饰符。之前提过,修饰符是由点开头的指令后缀来表示的。

  • .stop:event.stopPropagation,阻止事件冒泡。
  • .prevent:event.preventDefault,阻止默认行为
  • .capture:事件捕获。
  • .self:代表当前这个被点击的元素自身。
  • .once:这个事件只执行一次。
  • .passive:在页面滚动的时候告诉浏览器不会阻止默认的行为,从而让滚动更加顺畅。

案例1:阻止单击事件继续传播

<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>

案例2:提交事件不再重载页面

<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阻止了他的默认行为

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/165401.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Oracle ORA-01017: invalid username/password;logon denied问题解决「建议收藏」

    Oracle ORA-01017: invalid username/password;logon denied问题解决「建议收藏」问题描述:ORA-01017:invalidusername/password;logondenied问题分析:1、该登录用户没有权限。解决办法:第一步,打开SQLPlus第二步,输入用户名和密码。第三步,输入alterusersystemaccountlock;给用户解锁。第四步,输入connectsystem/123456assysdba给用户授权。注:system是用户名,123456是用户的密码。…

  • C++设计模式之建造者模式(三)

    C++设计模式之建造者模式(三)

  • pycharm的版本_pycharm最新版本是多少

    pycharm的版本_pycharm最新版本是多少详情链接:https://www.jetbrains.com/pycharm/download/other.html

  • loadrunner12使用手册_loadrunner脚本编写教程

    loadrunner12使用手册_loadrunner脚本编写教程首先我们安装好loadrunner12之后,出现这三个图标,然后开始操作。操作:1.打开VirtualUserGenerator,新建脚本2.选择脚本协议,对脚本名称位置可以进行编辑。此处以web-http/html为例。3.点击创建后,选择录制脚本,填写好录制的地址,应用程序,然后选择开始录制,此处以测试登录为例4.结束录制后,点击关联回放,确保脚本无误5.对代码进行进一步完善,插入事务或集合点6.对脚本进行执行回放,确保脚本无误,对脚本进行参数化可以直

    2022年10月14日
  • MySQL配置文件[通俗易懂]

    MySQL配置文件[通俗易懂]在Windows系统中,MySQL的配置文件为my.ini,在Linux系统中,配置文件为my.cnf,一般存放路径为/etc/my.cnf或/etc/mysql/my.cnf。参考链接:https://segmentfault.com/a/1190000021408999?utm_source=tag-newestMySQL的默认设置性能非常差,仅仅起一个功能测试的作用,不能用在生产环境中,需要对一些参数进行调整优化。每次更改文件后,需要重启MySQL服务,使修改生效。在该配置文件中,可.

  • NOIP 2008 普及组 传球游戏「建议收藏」

    NOIP 2008 普及组 传球游戏「建议收藏」超时#include<bits/stdc++.h>usingnamespacestd;intn,m,ans;//第cnt次传球后,球在编号为x的同学手上voiddfs(intcnt,intx){ if(cnt==m){ if(x==0)ans++; return; } dfs(cnt+1,(x+1)%n); dfs(cnt+1,(x-1+n)%n); }intmain(){.

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号