Vue 事件绑定 和 修饰符

目录

一、事件绑定

        1.简介 : 

        2.实例 : 

二、修饰符

        1.简介 : 

        2.实例 : 

        3.扩展 : 


一、事件绑定

        1.简介 : 

        (1) 在Vue中,通过"v-on:事件名"可以绑定事件,eg : v-on:click表示绑定点击事件。

        (2) 触发事件时调用的方法,定义在Vue实例中声明的methods属性(结点)中

        2.实例 : 

                以绑定点击事件click为例,event.html代码如下 : 

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Event binding</title><script type="text/javascript" src="../vue.js"></script>
</head>
<body><div id="app"><h1>{{preface}}</h1><input type="button" v-on:click="testClick_1()" value="点我点我"/> <br/><br/><!--当触发事件的回调函数不需要传入形参时,可以省略()PS : 需要浏览器支持--><input type="button" v-on:click="testClick_2" value="别点他,点我!"/> <br/><br/><input type="button" v-on:click="testClick_3" value="牛魔,点我才对!"/> <br/><br/><!-- "v-on:"亦可简写为@, 同样需要浏览器的支持. --><input type="button" @click="testClick_4" value="牛魔,点我才对!"/> <br/><br/></div><script>let vm = new Vue({//el 即 element的简写el:"#app",data:{preface:"This a demonstration about Vue's events processing."},methods:{testClick_1() {alert("原神,启动!");},testClick_2() {alert("op能不能收着点味儿?");},testClick_3() {alert("😅😅😅😅😅");},testClick_4() {alert("嘤嘤嘤");}}})</script>
</body>
</html>

                运行效果:(如下GIF图)


二、修饰符

        1.简介 : 

        修饰符Modifiers是由点.开头的指令后缀来表示的,指出某个指令以特殊方式进行绑定

        常见修饰符如下——

  •         .stop 
  •         .prevent
  •         .capture
  •         .self
  •         .once
  •         .passive
<!-- 阻止单击事件继续传播 -->
<a v-on:click.stop="doThis"></a><!-- 提交事件不再重载页面 -->
<form v-on:submit.prevent="onSubmit"></form><!-- 修饰符可以串联 -->
<a v-on:click.stop.prevent="doThat"></a><!-- 只有修饰符 -->
<form v-on:submit.prevent></form><!-- 添加事件监听器时使用事件捕获模式 -->
<!-- 即内部元素触发的事件先在此处理,然后才交由内部元素进行处理 -->
<div v-on:click.capture="doThis">...</div><!-- 只当在 event.target 是当前元素自身时触发处理函数 -->
<!-- 即事件不是从内部元素触发的 -->
<div v-on:click.self="doThat">...</div>

        此外,Vue 允许为v-on:在监听键盘事件时添加按键修饰符,eg : 

<!-- 只有在 `key` 是 `Enter` 时调用 `vm.submit()` -->
<input v-on:keyup.enter="submit">

        2.实例 : 

                在开发中,有时不希望将整个表单进行提交,而是以Ajax方式进行提交,这样,可以有选择性的提交数据,实现局部刷新,不会导致页面重载。
                以表单提交为例,使用.prevent修饰符阻止表单的正常提交,改为调用自定义的回调函数,在函数中进行相应的业务处理(此处为判断用户名是否为空)。
                modifiers_demo.html代码如下 : 

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Demonstrate Modifiers</title><script type="text/javascript" src="../vue.js"></script>
</head>
<body><div id="app"><!--.prevent修饰符的存在,使得form表单默认的提交方式失效,触发submit事件时会调用绑定的onMySubmit函数。--><form action="https://www.baidu.com" v-on:submit.prevent="onMySubmit">Username : <input type="text" v-model="user.username"/> <br/><br/><input type="submit" value="Submit"/></form></div><script type="text/javascript">let vm = new Vue ({el:"#app",data: {//以对象的形式提供数据(通过v-model数据双向渲染动态生成)user: {}},methods:{onMySubmit() {if (this.user.username) {   //当作布尔值使用alert("为世界上所有的美好而战!");console.log("username =",this.user.username);} else {console.log("请输入用户名捏~");}}}})</script>
</body>
</html>

                运行效果 : (如下GIF图)

        3.扩展 : 

                演示.once修饰符,"v-on:click.once"表示该点击事件在同一次页面只能触发一次。
                extensive_modifiers.html代码如下 : 

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Demonstrate keyModifiers</title><script type="text/javascript" src="../vue.js"></script>
</head>
<body><div id="app"><button v-on:click.once="onMyClick">你只能点我一次捏~不信试试看</button></div><script type="text/javascript">let vm = new Vue({el:"#app",data: {name:"Cyan"},methods: {onMyClick() {alert(this.name + "_RA9");}}})</script>
</body>
</html>

                运行效果 : (如下GIF)

                演示按键修饰符,"v-on:keyup.enter"表示按下键盘上的"Enter"键时会触发该事件,继而调用相应的函数。
                key_modifiers.html代码如下 : 

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Demonstrate key modifiers</title><script type="text/javascript" src="../vue.js"></script>
</head>
<body><div id="app"><form action="#">Color : <input type="text" v-model="element.color" v-on:keyup.enter="onMySubmit"/> <br/></form></div><script type="text/javascript">let vm = new Vue({el: "#app",data: {element: {}},methods: {onMySubmit() {alert("你按下了Enter键~")}}})</script>
</body>
</html>

                运行效果:(如下GIF图)

        System.out.println("END-----------------------------------------------------------------");

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/178141.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RT-Thread系统使用常见问题处理记录

1.使用telnet连接系统时发送help指令显示不全的问题。 原因&#xff1a;telnet发送缓存太小。 解决办法&#xff1a;更改agile_telnet软件包里Set agile_telnet tx buffer size的大小。 2.使用Paho MQTT软件包过一段时间报错hard fault on thread: mqtt0 解决办法&#xff1…

UE5——网络——属性复制

当属性被注册进行复制后&#xff0c;您将无法再取消注册&#xff08;涉及到生存期这一话题&#xff09;。之所以会这样&#xff0c;是因为我们要预制尽可能多的信息&#xff0c;以便针对同一组属性将某一工作分担给多个连接。这样可以节省大量的计算时间。 virtual void GetLif…

Python-文件操作

目录 一、文件的打开与关闭 1、文件的打开 2、文件模式 3、文件的关闭 二、文件的读写 1、写文件 2、读文件 3、文件的定位读写 三、文件的重命名和删除 1、文件的重命名 2、文件的删除 四、文件夹的相关操作 1、创建文件夹 2、获取当前目录 3、改变默认目录 4、…

深入理解udp

1.再谈端口号 1.1复习 我们上一篇谈了很久的应用层的http&#xff0c;并在此前我们使用socket编程写了一个能相互通信的客户端与服务端&#xff0c;但是我们也只是粗略的理解了一下tcp和udp在编程过程中所形成的差异性&#xff0c;并没有实质去了解一下其详细内容&#xff0c;…

若依笔记(四):代码生成器

已知使用MyBatisPlus代码生成器可以自动生成Entity、Mapper、Service、Controller代码&#xff0c;前提是数据库中有数据表&#xff0c;生成pojo类以及对于该数据表的增删改查命令的代码&#xff0c;若依更进一步能选择表后生成代码、预览、下载&#xff0c;同时可以生产前端代…

指挥通信车360度3d虚拟互动展示系统的优势及特点

通信车是装有通信装备&#xff0c;用于保障通信联络的专用车辆&#xff0c;用于偏僻/特殊环境下的机动通信。并且机动通信局装备通常分为应急综合通信车、网络管理车、程控电话车、自适应跳频电台车、数字扩频接力车、散射通信车、卫星通信车、光缆引接车、线缆收放车和通信电源…

[idea]关于idea开发乱码的配置

在JAVA开发中&#xff0c;一般统一设置为UTF-8的编码&#xff0c;包括但不限于开发工具、日志架构、虚拟机、文件编码等。常见配置如下&#xff1a; 1、IDEA工具 在idea64.exe.vmoptions、idea.exe.vmoptions中添加&#xff1a; -Dfile.encodingUTF-8 2、JAVA 运行在window…

用前端框架Bootstrap的AdminLTE模板和Django实现后台首页的页面

承接博文 用前端框架Bootstrap和Django实现用户注册页面 继续开发实现 后台首页的页面。 01-下载 AdminLTE-3.1.0-rc 并解压缩 以下需要的四个文件夹及里面的文件百度网盘下载链接&#xff1a; https://pan.baidu.com/s/1QYpjOfSBJPmjmVuFZdSgFQ?pwdo9ta 下载 AdminLTE-3.1…

2 关系型数据库是如何工作的

很多人在学习数据库知识的时候&#xff0c;知识点都是比较分散的&#xff0c;本章旨在将数据库知识进行整合串联&#xff0c;使之可以达到知其所以然的地步。 从数据结构说起 (1)时间复杂度 对于数据库本身而言&#xff0c;重要不仅仅是数据量&#xff0c;而是在数据量增长之…

关键词搜索亚马逊商品数据接口(标题|主图|SKU|价格|优惠价|掌柜昵称|店铺链接|店铺所在地)

亚马逊提供了API接口来获取商品数据。其中&#xff0c;关键词搜索亚马逊商品接口&#xff08;item_search-按关键字搜索亚马逊商品接口&#xff09;可以用于获取按关键字搜索到的商品数据。 通过该接口&#xff0c;您可以使用API Key和API Secret来认证身份&#xff0c;并使用…

电子电器架构 —— 车载网关初入门(二)

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 PS:小细节,本文字数5000+,详细描述了网关在车载框架中的具体性能设置。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 没有人关注你。也无需有人关注你。你必须承认自己的价值,你不能站在他…

麒麟KYLINIOS软件仓库搭建01-新创建软件仓库服务器

原文链接&#xff1a;麒麟KYLINIOS软件仓库搭建01-新创建软件仓库服务器 hello&#xff0c;大家好啊&#xff0c;今天给大家带来麒麟桌面操作系统软件仓库搭建的文章01-新创建软件仓库服务器&#xff0c;本篇文章主要给大家介绍了如何在麒麟桌面操作系统2203-x86版本上搭建内网…

MySQL数据库操作、表操作和常用数据类型

1、数据库操作 1.1 创建数据库 语法&#xff1a;CREATE DATABASE [IF NOT EXISTS] 数据库名 charset utf8;&#xff08;注意字母不区分大小写&#xff0c;分号为英文输入法&#xff09;&#xff0c;[ ]为可选项&#xff0c;意思为如果系统没有想要创建&#xff08;数据库名&am…

酷克数据出席永洪科技用户大会 携手驱动商业智能升级

10月27日&#xff0c;第7届永洪科技全国用户大会在北京召开。酷克数据作为国内云原生数仓代表企业&#xff0c;受邀出席本次大会&#xff0c;全面展示了云数仓领域最新前沿技术&#xff0c;并进行主题演讲。 携手合作 助力企业释放数据价值 数据仓库是商业智能&#xff08;BI…

Simulink的To Workspace

To Workspace模块将Simulink产生的数据存储到matlab的工作区。 用To Workspace模块中的数据进行绘图。 参见Matlab/simulink/simscape multibody-to wotkspace模块使用_to workspace模块_五VV的博客-CSDN博客To workspace模块入门详解_哔哩哔哩_bilibili&#xff08;很好&#…

[极客大挑战 2019]LoveSQL 1

题目环境&#xff1a;判断注入类型是否为数字型注入 admin 1 回显结果 否 是否为字符型注入 admin 1 回显结果 是 使用堆叠注入 采用密码参数进行注入 爆数据库1; show database();#回显结果 这里猜测注入语句某字段被过滤&#xff0c;或者是’;被过滤导致不能堆叠注入 爆字段数…

项目资源不足,常见的5种处理方式

软件开发中&#xff0c;经常会遇到项目资源不足的情况&#xff0c;项目团队如果无法及时获得所需的人力、财力、物力等资源&#xff0c;往往会影响团队士气以及任务质量&#xff0c;造成无法按时完成任务&#xff0c;进而影响项目进度。 因此及时处理和应对资源不足的情况&…

Linux 命令|服务器相关

1. 在公共 linux 上创建 python 虚拟环境 【精选】在公共Linux服务器上创建自己的python虚拟环境_服务器创建自己的环境-CSDN博客 2. 查看现存的状态&#xff0c;看有没有程序在跑 nvidia-smi命令详解-CSDN博客 3. 上传本地文件到服务器 在本地 Mac 计算机的终端中&#x…

【MATLAB第81期】基于MATLAB的LSTM长短期记忆网络预测模型时间滞后解决思路(更新中)

【MATLAB第81期】基于MATLAB的LSTM长短期记忆网络预测模型时间滞后解决思路&#xff08;更新中&#xff09; 在LSTM预测过程中&#xff0c;极易出现时间滞后&#xff0c;类似于下图&#xff0c;与一个以上的样本点结果错位&#xff0c;产生滞后的效果。 在建模过程中&#xf…

【Python语言速回顾】——数据可视化基础

目录 引入 一、Matplotlib模块&#xff08;常用&#xff09; 1、绘图流程&常用图 ​编辑 2、绘制子图&添加标注 ​编辑 3、面向对象画图 4、Pylab模块应用 二、Seaborn模块&#xff08;常用&#xff09; 1、常用图 2、代码示例 ​编辑 ​编辑 ​编辑 ​…