“深入理解事件处理器、表单综合案例和组件通信“

news2024/12/24 13:35:38

目录

  • 引言
    • 1. Vue的事件处理器
    • 2. Vue的表单综合案例
    • 3. Vue的组件通信
    • 总结

引言

Vue.js是一款流行的JavaScript框架,广泛应用于现代Web开发中。在Vue的世界里,事件处理器、表单综合案例和组件通信是三个重要的主题。本文将深入探讨这些主题,并提供丰富的内容和示例,帮助读者更好地理解和应用Vue的高级技巧。

1. Vue的事件处理器

事件处理器在Vue中起着至关重要的作用,它们允许我们对用户的交互做出响应。在本节中,我们将探讨Vue事件处理器的基本概念,并展示如何使用它们来处理各种事件,如点击、输入和自定义事件。我们还将介绍事件修饰符和事件参数的使用方法,以及如何在组件之间传递事件。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js"></script>
		<title></title>
	</head>
	<style>
		.a{
			background-color: red;
			height: 400px;
			width: 400px;
		}
		
		.b{
			background-color: aqua;
			height: 300px;
			width: 300px;
		}
		
		.c{
			background-color: darkgoldenrod;;
			height: 200px;
			width: 200px;
		}
		
		.d{
			background-color: black;
			height: 100px;
			width: 100px;
		}
		
		
	</style>
	<body>
		<div id = "app">
			<div class="a" @click="a1">
				<div class="b" @click.stop="a2">
					<div class="c" @click.stop="a3">
						<div class="d" @click.stop="a4"></div>
					</div>
				</div>1
			</div>
			<button @click.once="b1">点击</button>
		</div>
		<script>
			new Vue({
				el:"#app",
				data(){
					return{msg:'数据的单项绑定'}
				},methods:{
					a1(){
						alert('a1')
					},
					a2(){
						alert('a2')
					},
					a3(){
						alert('a3')
					},
					a4(){
						alert('a4')
					},b1(){
						alert('b1')
					}
				}
			})
		</script>
	</body>
</html>

2. Vue的表单综合案例

表单是Web应用中常见的交互元素,Vue提供了丰富的表单处理功能。在本节中,我们将通过一个综合案例来展示Vue表单的使用技巧。我们将涵盖以下内容:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js"></script>
		<title></title>
	</head>
	<body>
		<div id = "app">
			姓名:<input name="name" v-model="name"/><br />
			密码:<input name="password" v-model="pwd"/><br />
			性别:<span v-for="i in sexList">
				<input type="radio" name="sex" v-model="sex" :value="i.id" />{{i.name}}
			</span><br />
			籍贯:<select name="myaddress" v-model="myaddress">
				<option>请选择</option>
				<option v-for="i in address" :value="i.id">{{i.name}}</option>
			</select><br />
			爱好:<span v-for="i in hobby">
				<input type="checkbox" v-model="myhobby" name="myhobby" :value="i.id"/>{{i.name}}
			</span><br />
			个人简介:<textarea v-model="sign"></textarea><br 	/>
			同意:<input type="checkbox" v-model="ok"/><br />
			<button @click="dosub()">提交</button>
		</div>
		<script>
			new Vue({
				el:"#app",
				data(){
					return{
						name:'叶小雨',
						pwd:'yexiaoyu',
						sex:1,
						sexList:[{name:'男',id:1},{name:'女',id:2}],
						hobby:[{name:'唱',id:1},{name:'跳',id:2},{name:'rap',id:3},{name:'篮球',id:4}],
						myhobby:[],
						address:[{name:'湖南省',id:1},{name:'湖北省',id:2},{name:'河南省',id:3},{name:'河北省',id:4}],
						myaddress:'请选择',
						sign:null,
						ok:false
					}
				},methods:{
					dosub(){
						var obj = {};
						obj.name=this.name
						obj.pwd=this.pwd
						obj.sex=this.sex
						obj.address=this.myaddress
						obj.hobby=this.myhobby
						obj.sign=this.sign
						console.log(obj)
						
					}
				}
			})
		</script>
	</body>
</html>

在这里插入图片描述

3. Vue的组件通信

组件通信是Vue中另一个重要的主题,它允许不同组件之间进行数据传递和交互。在本节中,我们将介绍Vue中常用的组件通信方式,并提供示例代码来说明其用法。
3.1 父子组件通信

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js"></script>
		<title></title>
	</head>
	<body>
		<div id = "app">
		<my-button>aa</my-button><hr />
		<my-button m='叶小雨' >aa</my-button>
		</div>
		<script>
			new Vue({
				el:"#app",
				components:{
					'my-button':{
						props:['m'],
						template:'<button @click="dj">{{m}}点{{n}}</button>',
						data:function(){
							return {n:1}
						},methods:{
							dj(){
								this.n++;
							}
						}
					}
				},
				data(){
					return{
						
					}
				}
			})
		</script>
	</body>
</html>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js"></script>
		<title></title>
	</head>
	<body>
		<div id = "app">
		<my-button>aa</my-button><hr />
		<my-button m='叶小雨' @get="getName">aa</my-button>
		</div>
		<script>
			new Vue({
				el:"#app",
				components:{
					'my-button':{
						props:['m'],
						template:'<button @click="dj">{{m}}点{{n}}</button>',
						data:function(){
							return {n:1}
						},methods:{
							dj(){
								let name = '狼牙棒';
								let price = '32';
								this.$emit('get',name,price)
							}
						}
					}
				},
				data(){
					return{
						
					}
				},methods: {
					getName(name,price) {
						console.log(name)
						console.log(price)
					}
				},
			})
		</script>
	</body>
</html>

在这里插入图片描述

总结

本文深入探讨了Vue的事件处理器、表单综合案例和组件通信这三个重要主题。我们详细介绍了它们的基本概念和用法,并提供了丰富的示例代码来帮助读者更好地理解和应用这些高级Vue技巧。通过学习本文,读者将能够更加熟练地处理Vue中的事件、表单和组件通信,提升自己的Vue开发技能。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

二十二、MySQL联合查询

1、基础概念 &#xff08;1&#xff09;语法&#xff1a; select …… from …… union [all] select …… from …… &#xff08;2&#xff09;理解&#xff1a; 所谓的联合查询&#xff0c;就是对多个条件查询结果进行联合处理&#xff0c;取其并集。 2、实际操作 &…

AI写作生成器-人工智能技术的工具

众所周知&#xff0c;写作是一项需要时间、思考和创造力的工作。传统的写作过程可能需要作者长时间的积累、思考和修改&#xff0c;才能产生一篇优质的文章。随着AI写作生成器的出现&#xff0c;这一传统写作模式正经历着巨大的改变。 AI写作生成器是一类基于人工智能技术的工…

SpringBoot对Filter过滤器中的异常进行全局处理

前言 今天处理拦截器中的异常时&#xff0c;遇到这样一个问题&#xff0c;我们希望在过滤器中对用户的请求进行判断&#xff0c;如果不符合要求直接抛出异常并在前端展示。但是如果我们直接在过滤器中throw一个异常时&#xff0c;尽管我们使用ControllerAdvice和 ExceptionHan…

一对多映射处理

8.3.1 、collection /** * 根据部门id查新部门以及部门中的员工信息 * param did * return */ Dept getDeptEmpByDid(Param("did") int did);<resultMap id"deptEmpMap" type"Dept"> <id property"did" column"did&quo…

Java21 LTS版本

一、前言 除了众所周知的 JEP 之外&#xff0c;Java 21 还有更多内容。首先请确认 java 版本&#xff1a; $ java -version openjdk version "21" 2023-09-19 OpenJDK Runtime Environment (build 2135-2513) OpenJDK 64-Bit Server VM (build 2135-2513, mixed mo…

Shiro 整合 Web

文章目录 Shiro的Web流程Shiro整合SSMShiro整合SpringBootShiro授权方式过滤器链自定义过滤器注解记住我 Shiro的Web流程 Shiro整合SSM 准备SSM的配置准备经典五张表&#xff08;见Shiro基本使用&#xff09;&#xff0c;完成测试准备Shiro的配置 核心过滤器 <!-- 配置S…

Git学习笔记4

GitHub是目前最火的开源项目代码托管平台。它是基于web的Git仓库&#xff0c;提供公有仓库和私有仓库&#xff0c;但私有仓库是需要付费的。 到Github上找类似的项目软件。 GitLab可以创建免费的私有仓库。 GitLab是利用 Ruby开发的一个开源的版本管理系统&#xff0c;实现一个…

ResFields: 一种即插即用的MLP增容工具

ResFields: 一种即插即用的MLP增容工具 目录 概述 RESFIELDS 理论简介 实验(部分) 2D VIDEO APPROXIMATION1 TEMPORAL NEURAL RADIANCE FIELDS (NERF) 消融实验 环境配置 概述 论文名称: RESFIELDS: RESIDUAL NEURAL FIELDS FOR SPATIOTEMPORAL SIGNALS 作者单位…

基于Yolov8的野外烟雾检测(2):多维协作注意模块MCA,效果秒杀ECA、SRM、CBAM等 | 2023.9最新发布

目录 1.Yolov8介绍 2.野外火灾烟雾数据集介绍 3.MCA介绍 4.训练结果分析 5.系列篇 1.Yolov8介绍 Ultralytics YOLOv8是Ultralytics公司开发的YOLO目标检测和图像分割模型的最新版本。YOLOv8是一种尖端的、最先进的&#xff08;SOTA&#xff09;模型&#xff0c;它建立在先前…

Docker 应用部署

Docker 应用部署 一、部署MySQL 搜索MySQL镜像 拉取MySQL镜像 docker pull mysql:8.0创建容器&#xff0c;设置端口映射&#xff0c;目录映射 # 在root/home/mysql目录下创建MySQL目录用于存储MySQL数据信息 mkdir /root/home/mysql cd /root/home/mysql创建并运行 # 330…

video属性练习,手写controls

<video src"../xxx.mp4"></video><div class"controls"><button id"btnPlay">播放/暂停</button></div><div class"controls" id"progress">进度&#xff1a;<input type&quo…

编译chromium总结

文章目录 一、官方文档二、DEPOT_TOOLS_UPDATE三、少修改subprocess.py里的编码四、运行截图 之前在ubuntu18编译过&#xff0c;这次换win11试一试&#xff0c;成功后我又删了一次&#xff0c;再次编译发现了之前没注意到的点。下面是一些重点和我的实践。 一、官方文档 https…

【MT7628AN】IOT | MT7628AN OpenWRT开发与学习

IOT | MT7628AN OpenWRT开发与学习 时间:2023-06-21 文章目录 `IOT` | `MT7628AN` `OpenWRT`[开发与学习](https://blog.csdn.net/I_feige/article/details/132911634?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22132911634…

Python练习之选择与循环

目录 1、编写程序&#xff0c;运行后用户输入4位整数作为年份&#xff0c;判断其是否为闰年。提示&#xff1a;如果年份能被400整除&#xff0c;则为闰年&#xff1b;如果年份能被4整除但不能被100整除也为闰年。2、编写程序&#xff0c;用户从键盘输入小于 1000 的整数&#x…

链表oj题1(Leetcode)——移除链表元素,反转链表,链表的中间节点,

链表OJ 一&#xff0c;移除链表元素1.1分析1.2代码 二&#xff0c;找到链表的中间节点2.1分析2.2代码 三&#xff0c;反转链表3.1分析3.2代码 四&#xff0c;找到链表中倒数第k个节点4.1分析4.2代码 一&#xff0c;移除链表元素 移除链表元素 1.1分析 这里的删除要分成两种…

视频监控系统/视频汇聚平台EasyCVR平台页面展示优化

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

代码随想录算法训练营day55|392.判断子序列 |115.不同的子序列

392.判断子序列 力扣题目链接 给定字符串 s 和 t &#xff0c;判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些&#xff08;也可以不删除&#xff09;字符而不改变剩余字符相对位置形成的新字符串。&#xff08;例如&#xff0c;"ace"是"…

基于Xml方式Bean的配置-Bean的依赖注入以及·自动装配

Bean的依赖注入配置 Bean的依赖注入方式 注入方式配置方式通过Bean的set方法注入 <property name"userDAO" ref"userDAO"/> <property name"userDAO" value"userDAO"/> 通过构造Bean的方法进行注入 <constructor-arg n…

AB试验(三)一次试验的规范流程

AB试验&#xff08;三&#xff09;一次试验的规范流程 一次完整且规范的A/B试验可参考下图&#xff1a; 确定目标和假设 核心&#xff1a;A/B测试是因果推断&#xff0c;所以我们首先要确定原因和结果。目标决定了结果&#xff0c;而假设又决定了原因。 如何确定 分析问题&am…

极盾故事|“二次授权”“脱敏复原”,某银行数据动态脱敏系统get新技能?

数据&#xff0c;既要可用&#xff0c;又要安全&#xff0c;还要合规&#xff01;企业“一难、两难、多难”的困境&#xff0c;如何破&#xff1f; 极盾科技助力某商业银行&#xff0c;基于极盾觅踪构建应用数据动态脱敏系统&#xff0c;实现30&#xff0b;核心应用系统以及用户…