Vue语法

目录

事件处理器

是什么

 案列

表单的综合案列 

定义

常用功能

组件通信

定义 

 父传子

​编辑 子传父


事件处理器

是什么

事件处理器是一种函数,用于响应和处理事件的触发。在编程中,当特定事件发生时,可以通过事件处理器来执行相应的操作和逻辑。

事件处理器通常与特定的事件绑定在一起。当事件触发时,绑定的事件处理器函数将被调用,并且可以访问事件的相关信息。例如,当用户点击按钮时,与该按钮相关联的点击事件处理器将被调用。

在Vue中,可以使用@v-on指令来绑定事件处理器。例如,@click="handleClick"表示将handleClick函数作为点击事件的处理器。

事件处理器函数可以接收事件对象作为参数,该对象包含有关事件的信息,如事件类型、触发元素、鼠标位置等。事件处理器函数可以执行任意的JavaScript代码,以响应事件并执行相应的操作,如更新数据、调用方法、触发其他事件等。

总结来说,事件处理器是一种函数,用于响应和处理特定事件的触发,以执行相应的操作和逻辑。

 案列

<!DOCTYPE html>
<html><head><meta charset="utf-8"><script src="https://cdn.bootcdn.net/ajax/libs/vue/2.7.6/vue.js"></script><script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.js"></script><title>插值</title><style type="text/css">.one{background-color: red;height: 400px;width: 400px;}.two{background-color: yellow;height: 300px;width: 300px;}.three{background-color: greenyellow;height: 200px;width: 200px;}.four{background-color: blue;height: 100px;width: 100px;}</style></head><body><div id="app"><div class="one" @click="fun1"><div class="two" @click.stop="fun2"><div class="three" @click.stop="fun3"><div class="four" @click.stop="fun4"></div></div></div></div><input :value="msg" /><button @click.once="clickMe">点我</button></div><script type="text/javascript">new Vue({el:"#app",data(){return {msg:'沸洋洋你个臭傻逼',};},methods:{fun1(){alert("我是红色");},fun2(){alert("我是黄色");},fun3(){alert("我是黄绿色");},fun4(){alert("我是蓝色");},clickMe(){console.log(this.msg);}}});</script></body>
</html>

 

 

在@click后面加.stop 

表单的综合案列 

定义

Vue表单是指在Vue.js框架中用于处理用户输入的一组相关元素和功能。它允许你构建交互式的表单界面,处理用户的输入数据,并将其绑定到Vue实例的数据中。Vue表单提供了一种简单、灵活的方式来管理表单元素,实现数据的双向绑定、验证和提交。

常用功能

1. 数据绑定:将表单元素与Vue实例的数据进行绑定,实现双向数据绑定。

2. 表单验证:对用户输入的数据进行验证,确保数据的合法性。

3. 表单提交:监听表单的提交事件,执行相应的操作,如发送表单数据到后台服务器。

4. 表单重置:提供重置按钮,可以将表单中的数据重置为初始状态。

5. 动态表单:根据数据的变化动态生成表单元素,如根据选项数量生成多选框或下拉菜单。 6. 表单数据处理:对表单数据进行处理,如格式化、过滤、计算等。

7. 表单组件封装:将表单元素封装成可复用的组件,提高开发效率和代码可维护性。

8. 表单联动:实现表单元素之间的联动效果,如一个下拉菜单的选项改变会影响另一个表单元素的可选项。

9. 表单数据持久化:将表单数据存储在本地或远程,以便在页面刷新或重新加载后能够恢复数据。

10. 表单样式设计:通过CSS样式对表单进行美化和定制,提升用户体验。 

<!DOCTYPE html>
<html><head><meta charset="utf-8"><script src="https://cdn.bootcdn.net/ajax/libs/vue/2.7.6/vue.js"></script><script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.js"></script><title>表单</title></head><body> <div id="app">姓名:<input name="name" v-model="name" /><br />密码:<input type="password" v-model="pwd"/><br />性别:<span v-for="s in sexList"><input type="radio" name="sex" v-model="sex" :value="s.id" />{{s.name}}</span><br />籍贯:<select name="myAddr" v-model="myAddr"><option v-for="a in address" :value="a.id">{{a.name}}</option></select><br />爱好:<span v-for="h in hobby"  ><input type="checkbox"  v-model="myLike"  name="myLike" :value="h.id" />{{h.name}}</span><br />个人简介:<textarea v-model="sign" cols="10" rows="5"></textarea><br />同意:<input type="checkbox" v-model="ok" /><br /><button v-show="ok" @click="dosub">提交</button></div><script type="text/javascript">new Vue({el:"#app",data(){return {name:'灰太狼',pwd:'123456',sexList:[{name: '男', id:1}, {name: '女', id:2},{name: '未知', id:0}],sex:1,hobby:[{name: '抓羊', id: 1},{name: '争狼王', id: 2},{name: '带儿子', id: 3}],myLike:[],address:[{name: '羊村', id: 1},{name: '狼堡', id: 2},{name: '别墅', id: 3},{name: '城堡', id: 4}],myAddr:null,sign:null,ok:false};},methods:{dosub(){var obj ={};obj.name = this.name;obj.pwd = this.pwd;obj.sex = this.sex;obj.address=this.myAddr;obj.love=this.myLike;obj.sign=this.sign;console.log(obj);}}});</script></body>
</html>

 

 

组件通信

定义 

1. 父子组件通信:父组件可以通过props将数据传递给子组件,子组件可以通过$emit触发事件通知父组件。这种方式适合用于父组件向子组件传递静态数据或通过事件监听子组件的动态变化。

2. 子父组件通信:子组件可以通过$emit触发事件,将数据传递给父组件。父组件通过监听子组件的事件,接收数据。这种方式适合用于子组件向父组件传递数据或通知父组件进行某些操作。

3. 兄弟组件通信:如果两个组件处于同一父组件下,它们可以通过父组件作为中间人进行通信。兄弟组件可以通过父组件传递数据,或通过事件派发和监听来进行通信。

4. 跨级组件通信:如果组件之间的关系比较复杂,可以使用Vue的事件总线或Vuex进行跨级组件通信。事件总线是一个空的Vue实例,可以作为中央事件总线,用于触发和监听事件。Vuex是一个专门用于管理Vue应用程序状态的库,可以在任何组件中访问共享的状态。

 父传子

<!DOCTYPE html>
<html><head><meta charset="utf-8"><script src="https://cdn.bootcdn.net/ajax/libs/vue/2.7.6/vue.js"></script><script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.js"></script><title>组件传参父传子</title></head><body><div id="app"><p>自定义组件</p><my-button>xx</my-button><p>组件通信-父传子</p><my-button m='懒大王'></my-button><p>组件通信-父传子2</p><my-button m='懒大王' n="10"></my-button></div><script type="text/javascript">new Vue({el:"#app",components:{'my-button':{props:['m','10'],template:'<button @click="clickMe">被{{m}}点击了{{n}}次</button>',data:function(){return{n:1}},methods:{clickMe(){this.n++;}}}},data(){return {msg:'沸洋洋你个臭傻逼',};},});</script></body>
</html>

 子传父

<!DOCTYPE html>
<html><head><meta charset="utf-8"><script src="https://cdn.bootcdn.net/ajax/libs/vue/2.7.6/vue.js"></script><script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.js"></script><title>组件传参子传父</title></head><body><div id="app"><p>组件通信-子传父</p><my-button m='懒大王' @xxx="getParam" ></my-button></div><script type="text/javascript">new Vue({el:"#app",components:{'my-button':{props:['m'],template:'<button @click="clickMe">被{{m}}点了</button>',methods:{clickMe(){let name ='懒大王';let bname = '我的零食屋';let price = '白嫖';this.$emit('xxx',name,bname,price);}}}},methods:{getParam(a,b,c){console.info(a,b,c);}}});</script></body>
</html>

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

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

相关文章

八大排序(一)冒泡排序,选择排序,插入排序,希尔排序

一、冒泡排序 冒泡排序的原理是&#xff1a;从左到右&#xff0c;相邻元素进行比较。每次比较一轮&#xff0c;就会找到序列中最大的一个或最小的一个。这个数就会从序列的最右边冒出来。 以从小到大排序为例&#xff0c;第一轮比较后&#xff0c;所有数中最大的那个数就会浮…

go语言初学(备忘)

1、安装 2 路径配置 C:\Program Files\Go\bin 3新建一个工程 4、下载VSCode 并安装插件 创建一个调试文件 在main目录下新建一个test.go脚本 package main import "fmt" func main() { fmt.Println("Hi 1111") fmt.Println("testasdf") } 断点…

免费获取独立ChatGPT账户!!

GPT对于每个科研人员已经成为不可或缺的辅助工具&#xff0c;不同的研究领域和项目具有不同的需求。如在科研编程、绘图领域&#xff1a;1、编程建议和示例代码: 无论你使用的编程语言是Python、R、MATLAB还是其他语言&#xff0c;都可以为你提供相关的代码示例。2、数据可视化…

算法、数据结构、计算机系统、数据库MYSQL、概率论、数学实验MATLAB、数学建模、马原、英语、杂项、QT项目

算法 冒号表达式 &#xff08;condition&#xff09;&#xff1f;x&#xff1a;y 可以三个条件 以此类推 &#xff08;condition1&#xff09;&#xff1f;x&#xff1a;&#xff08;condition2&#xff09;&#xff1f;y&#xff1a;z 判断三角形最简单的办法 bool canFormTr…

stm32---定时器输入捕获

一、输入捕获介绍 在定时器中断实验章节中我们介绍了通用定时器具有多种功能&#xff0c;输入捕获就是其中一种。 STM32F1除了基本定时器TIM6和TIM7&#xff0c;其他定时器都具有输入捕获功能 。输入捕获可以对输入的信号的上升沿&#xff0c;下降沿或者双边沿进行捕获&#xf…

基于Python flask 的某招聘网站爬虫,招聘岗位可视化系统

招聘信息可视化系统 一、介绍 原文地址 今天为大家带来的是Python基于Flask的招聘信息爬取&#xff0c;招聘岗位分析、招聘可视化系统。 此系统是一个实时分析招聘信息的系统&#xff0c;应用Python爬虫、Flask框架、Echarts、VUE等技术实现。 本项目利用 Python 从某招聘网…

【SpringBoot】生成二维码、在图片中嵌入二维码

背景 说明&#xff1a;本文章是介绍&#xff0c;在一张背景图片中嵌入生成的二维码和中文文字。 用处&#xff1a;比如活动分享二维码的时候&#xff0c;提供一张背景图&#xff0c;然后在背景图中嵌入二维码等。 注意&#xff1a;二维码和文字的位置需要你自行调整。 一、依赖…

两种风格的纯CSS3加载动画

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>加载动画</title><style>.loader {w…

已解决 TypeError: Fetch argument None has invalid type <class ‘NoneType‘>

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页: &#x1f405;&#x1f43e;猫头虎的博客&#x1f390;《面试题大全专栏》 &#x1f995; 文章图文并茂&#x1f996…

深入学习 Redis Cluster - 基于 Docker、DockerCompose 搭建 Redis 集群,处理故障、扩容方案

目录 一、基于 Docker、DockerCompose 搭建 Redis 集群 1.1、前言 1.2、编写 shell 脚本 1.3、执行 shell 脚本&#xff0c;创建集群配置文件 1.4、编写 docker-compose.yml 文件 1.5、启动容器 1.6、构建集群 1.7、使用集群 1.8、如果集群中&#xff0c;有节点挂了&am…

24.Xaml ListView控件-----显示数据

1.运行效果 2.运行源码 a.Xaml源码 <Window x:Class="testView.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.mic…

Python灰帽编程——网页信息爬取

文章目录 网页信息爬取1. 相关模块1.1 requests 模块1.1.1 模块中的请求方法1.1.2 请求方法中的参数1.1.3 响应对象中属性 1.2 RE 模块1.2.1 匹配单个字符1.2.2 匹配一组字符1.2.3 其他元字符1.2.4 核心函数 2. 网页信息爬取2.1 获取网页HTML 源代码2.2 提取图片地址2.3 下载图…

服务器端应用的安装

前言&#xff1a;相信看到这篇文章的小伙伴都或多或少有一些编程基础&#xff0c;懂得一些linux的基本命令了吧&#xff0c;本篇文章将带领大家服务器如何部署一个使用django框架开发的一个网站进行云服务器端的部署。 文章使用到的的工具 Python&#xff1a;一种编程语言&…

机器学习第九课--随机森林

一.什么是集成模型 对于几乎所有的分类问题(图像识别除外&#xff0c;因为对于图像识别问题&#xff0c;目前深度学习是标配)&#xff0c;集成模型很多时候是我们的首选。比如构建一个评分卡系统&#xff0c;业界的标配是GBDT或者XGBoost等集成模型&#xff0c;主要因为它的效…

Windows/Linux(命令、安装包和源码安装)平台各个版本QT详细安装教程

前言 本文章主要介绍了Windows/Linux平台下&#xff0c;QT4&#xff0c;QT5&#xff0c;QT6的安装步骤。为什么要把QT版本分开介绍呢&#xff0c;因为这三个版本&#xff0c;安装步骤都不一样。Windows平台&#xff0c;QT4的Qt Creator&#xff0c;QT库和编译器是分开的&#…

Postman应用——Collection、Folder和Request

文章目录 Collection新建CollectionCollection重命名保存Request到Collection在Collection下创建Request删除Collection Folder新建FolderFolder重命名保存Request到Folder在Folder下创建Request在Folder下创建Folder删除Folder Request创建临时RequestRequest重命名删除Reques…

攻防世界-WEB-fileinclude

访问url&#xff0c;可以看到一些提示&#xff0c;绝对路径/var/www/html/index.php&#xff0c;也提示了flag在flag.php中。 快捷键Ctrlu,查看网页源代码 思路&#xff1a; 源代码中看到 include($lan.".php"); &#xff0c;可知此处存在文件包含。$lan的值是从co…

QGIS怎么修改源代码?持续更新...

修改配置文件保存位置 修改目的&#xff1a;放着和本地安装的其他QGIS共用一份配置文件 修改文件&#xff1a;core/qgsuserprofilemanager.cpp 修改位置&#xff1a;第37行 return basePath QDir::separator() "my_profiles";修改完毕后&#xff0c;再次生成一下…

Spring Authorization Server入门 (十八) Vue项目使用PKCE模式对接认证服务

Vue单页面项目使用授权码模式对接流程说明 以下流程摘抄自官网 在本例中为授权代码流程。 授权码流程的步骤如下&#xff1a; 客户端通过重定向到授权端点来发起 OAuth2 请求。 对于公共客户端&#xff0c;此步骤包括生成code_verifier 并计算code_challenge&#xff0c;然后…

wpf资源Resources探究性学习(一)

测试环境&#xff1a; vistual studio 2017 .net framework 3.5 window 10 新建WPF应用(.net framework)&#xff0c;项目名称为&#xff1a;WpfDemo&#xff0c;如下图&#xff1a; 新建完项目后&#xff0c;默认带有一个名为MainWindow.xaml的代码 一 简单使用字符串资源…