当前位置: 首页 > news >正文

Vue.js常用指令:v-on

一、v-on指令

v-on指令在Vue.js中用来处理对应的事件。用法:

v-on:事件类型="函数体"

例如:点击按钮的时候执行play事件

<button v-on:click="play">点击事件</button>

注意:

在使用v-on指令绑定事件的时候,如果要执行的是无参的函数,函数体可以加括号也可以不加括号,下面的两种写法是等价的:

<button v-on:click="play()">点击事件</button>

等同于

<button v-on:click="play">点击事件</button>

 但是,如果要传递参数,则必须加括号,例如:

<button v-on:click="play(item)">点击事件</button>

 上面的例子是给play函数传递item参数。

注意:v-on的缩写@

上面的代码等同于下面的代码:

<button @click="play">点击事件</button>

代码示例如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>v-on指令</title>
    <!--引入vue.js-->
    <script src="node_modules/vue/dist/vue.js" ></script>
    <script>
       window.onload=function(){
           // 构建vue实例
           new Vue({
               el:"#my",
               data:{
                   age:30 
               },
               // 方法
               methods:{
                   //无参
                   play:function(){
                        this.age=40;
                   },
                   // 有参
                   playWithPara:function(para){
                         this.age=para;
                   }
               }
           })
       }
    </script>
</head>
<body>
    <div id="my">
         <h1>年龄:{{age}}</h1>
         <button @click="age = 20">设置年龄为20</button>
         <button @click="play">设置年龄为40</button>
         <button @click="playWithPara(50)">根据参数设置年龄</button>
    </div>
</body>
</html>

 

一个按钮也可以同时绑定多个事件,例如:

<button v-on="{mouseover:onOver,mouseout:onOut}">绑定多个事件</button>

 

上面我们通过对象的方式绑定多个事件,对象中的键是事件的名称, 值是methods中的成员属性方法

对应的方法:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>v-on指令</title>
    <!--引入vue.js-->
    <script src="node_modules/vue/dist/vue.js" ></script>
    <script>
       window.onload=function(){
           // 构建vue实例
           new Vue({
               el:"#my",
               data:{
                   age:30 
               },
               // 方法
               methods:{
                   //无参
                   play:function(){
                        this.age=40;
                   },
                   // 有参
                   playWithPara:function(para){
                         this.age=para;
                   },
                   onOver:function(){
                      var current=document.getElementById("mouse");
                      current.innerText="鼠标移入";
                   },
                   onOut:function(){
                      var current=document.getElementById("mouse");
                      current.innerText="鼠标移出";
                   }
               }
           })
       }
    </script>
</head>
<body>
    <div id="my">
         <h1>年龄:{{age}}</h1>
         <h1 id="mouse">当前鼠标动作</h1>
         <button @click="age = 20">设置年龄为20</button>
         <button @click="play">设置年龄为40</button>
         <button @click="playWithPara(50)">根据参数设置年龄</button>

         <button v-on="{mouseover:onOver,mouseout:onOut}">绑定多个事件</button>
    </div>
</body>
</html>

相关文章:

  • 如何设计一个比特币钱包服务
  • JS 编译器都做了啥?
  • 如何判断/获取屏幕的状态(亮屏已解锁,亮屏未解锁,黑屏)
  • CSS3 animation 练习
  • 腾讯从百度挖来的AI Lab负责人张潼离职,要去阿里?
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • TOP 13大最热开源微服务Java框架
  • Zk集群部署
  • 驰骋工作流引擎设计系列04 流程引擎表结构的设计
  • [POJ 1915] Knight Moves
  • 多元统计分析-因子分析
  • 2019.01.06-dtoj-3729: Gty的游戏
  • Django 错误之 No module named ‘MySQLdb’
  • Servlet是线程安全的吗?
  • 关于git rebase的相关讲解
  • [NodeJS] 关于Buffer
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • Apache的基本使用
  • es6要点
  • IDEA 插件开发入门教程
  • Javascript基础之Array数组API
  • java中的hashCode
  • js如何打印object对象
  • OSS Web直传 (文件图片)
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • socket.io+express实现聊天室的思考(三)
  • SQLServer之索引简介
  • 半理解系列--Promise的进化史
  • 翻译--Thinking in React
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 一个JAVA程序员成长之路分享
  •  一套莫尔斯电报听写、翻译系统
  • 主流的CSS水平和垂直居中技术大全
  • 湖北分布式智能数据采集方法有哪些?
  • ​水经微图Web1.5.0版即将上线
  • #、%和$符号在OGNL表达式中经常出现
  • #WEB前端(HTML属性)
  • (07)Hive——窗口函数详解
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (汇总)os模块以及shutil模块对文件的操作
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (一)Dubbo快速入门、介绍、使用
  • (转)大型网站架构演变和知识体系
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .Net Redis的秒杀Dome和异步执行
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • .net和php怎么连接,php和apache之间如何连接
  • .Net中的集合
  • .net中我喜欢的两种验证码
  • @kafkalistener消费不到消息_消息队列对战之RabbitMq 大战 kafka
  • [20150904]exp slow.txt