前端vue框架(3)——vue的基础语法(下)

embedded/2025/1/19 0:57:50/

上一篇入口: 

前端vue框架(2)——vue的基础语法(上)-CSDN博客文章浏览阅读567次,点赞9次,收藏6次。vue的安装在上一篇博客中前端vue框架(1)——vue的安装-CSDN博客Vue (发音为 /vju:/,类似 view)是一款用于构建用户界面的JavaScript 框架。它基于标准 HTML、CSS 和 javaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。无论是简单还是复杂的界面,Vue 都可以胜任。1.渐进式框架vue 是一个框架,也是一个生态。其功能覆盖了大部分前端开发常见的需求。https://blog.csdn.net/2301_78566776/article/details/145126288?spm=1001.2014.3001.5501

目录

 一、事件处理

1.内联事件处理器

2.方法事件处理器

二、事件对象$event

1.获取 event 对象

 2.传递参数

3.Demo 

​编辑

 4.传参的过程当中获取 event

 三、事件修饰符

1.阻止默认事件

2. 阻止事件冒泡


一、事件处理

        我们可以使用v-on指令(简写为@)来监听DOM事件,并在事件触发时执行对应的JavaScript。用法:

javascript">on:click="methodName"或@click="handler"

事件处理器的值可以是

内联事件处理器:事件被触发时执行的内联JavaScript语句(与onclick类似)

方法事件处理器:一个指向组件上定义的方法的属性名或是路径

1.内联事件处理器

内联事件处理器通常用于简单场景

javascript"><template><h1>Hello world</h1><button @click="count++">Add</button><p>{{ count }}</p>
</template>
<script>export default{data(){return{count:0}}}
</script>
2.方法事件处理器
javascript"><template><h1>Hello world</h1><button @click="addCount">Add</button><p>{{ count }}</p>
</template>
<script>export default{data(){return{count:0}},//所有的方法或者函数都放在这里methods:{addCount(){this.count++;}}}
</script>

二、事件对象$event

事件参数可以获取event对象和通过事件传递数据

1.获取 event 对象
javascript"><template><h1>Hello world</h1><button @click="addCount">Add</button><p>{{ count }}</p>
</template>
<script>export default{data(){return{count:0}},methods:{addCount(e){console.log(e)this.count++;}}}
</script>

注意:vue当中的event对象,就是原生JS的Event对象。 

javascript"><template><h1>Hello world</h1><button @click="addCount">Add</button><p>{{ count }}</p>
</template>
<script>export default{data(){return{count:0}},methods:{addCount(e){// vue当中的event对象,就是原生JS的Event对象\e.target.innerHTML = "Add" + this.countthis.count++;}}}
</script>
 2.传递参数
javascript"><template><h1>Hello world</h1><button @click="addCount('hello')">Add</button><p>{{ count }}</p>
</template>
<script>export default{data(){return{count:0}},methods:{addCount(msg){console.log(msg)  this.count++;}}}
</script>

3.Demo 

对于Demo我添加了详细的备注

javascript"><template><!-- 组件的模板部分 --><h1>Hello world</h1> <!-- 一个简单的标题 --><!-- 使用 v-for 指令循环遍历 names 数组,为每个元素创建一个 <p> 元素 --><!-- @click 是 Vue 的事件监听语法,用于绑定点击事件处理器 --><!-- getNameHandler 是定义在 methods 中的方法,用于处理点击事件 --><!-- :key 是 Vue 的一个特殊属性,用于给每个循环的元素一个唯一的标识 --><p @click="getNameHandler(item)" v-for="(item, index) in names" :key="index">{{ item }} <!-- 显示当前循环的元素 --></p>
</template><script>
export default {// 组件的数据对象data() {return {// 定义一个名为 names 的数组,包含一些字符串元素names: ["admin", "张三", "李四"]};},// 组件的方法对象methods: {// 定义一个名为 getNameHandler 的方法,用于处理点击事件// 该方法接收一个参数 name,即被点击的 <p> 元素对应的 names 数组中的元素getNameHandler(name) {// 在控制台打印出被点击的元素对应的名称console.log(name);}}
};
</script>

在该Demo中,点名字就会出现值

 4.传参的过程当中获取 event

 三、事件修饰符

        在处理事件时调用event.preventDefault()或event.stopPropagation()是很常见的。尽管我们可以直接在方法内调用,但如果方法能更专注于数据逻辑而不用去处理DOM事件的细节会更好

为了解决这一问题,Vue为v-on提供了事件修饰符,常用有以下几种:

        .stop

        .prevent

        .once

        .enter

        ....

1.阻止默认事件

我们知道a标签点击之后会发生跳转,那我们能不能阻止这一事件的发生呢?

javascript"><template><a @click="clickHandler" href="https:www.baidu.com">百度</a>
</template>
<script>export default{methods:{clickHandler(e){//阻止默认事件e.preventDefault();console.log("点击了")}}}
</script>

我们也可以采用更直接的方式

2. 阻止事件冒泡

什么是事件冒泡呢?

点击测试冒泡P和div都会出现,这是因为P标签在div标签里面 

 如何消除事件冒泡呢? 


http://www.ppmy.cn/embedded/155090.html

相关文章

list的模拟实现详解

文章目录 list的模拟实现list的迭代器begin()和end() list的模拟实现 #pragma once #include<iostream> #include<list>using namespace std;namespace wbc {// 类模版template<class T>struct list_node // 链表的节点{T _data;list_node<T>* _next;…

Docker镜像配置

Docker 镜像配置 Docker 安装完成后镜像一直获取不成功&#xff0c;网上也有很多方法&#xff0c;貌似都不太管用&#xff0c;这里详细说明一下&#xff0c;最近很多镜像源都不能用了&#xff0c;出现无法拉取镜像的问题先从镜像源开始解决。 问题复现 wjxwjx-WUJIE16:~$ dock…

智能新浪潮:亚马逊云科技发布Amazon Nova模型

在2024亚马逊云科技re:Invent全球大会上&#xff0c;亚马逊云科技宣布推出新一代基础模型Amazon Nova&#xff0c;其隶属于Amazon Bedrock&#xff0c;这些模型精准切入不同领域&#xff0c;解锁多元业务可能&#xff0c;为人工智能领域带来革新。 带你认识一起了解Amazon Nova…

VSCode代理配置导致的SSL证书验证错误及解决方案

问题现象 遇到SSL证书验证错误&#xff1a; FetchError: Hostname/IP does not match certificates altnames: Host: api.github.com. is not in the certs altnames: DNS:draw.yxwl.asia原因分析 使用代理服务导致的证书验证问题请求被重定向到错误的服务器DNS或网络配置问…

【C++篇】红黑树的实现

目录 前言&#xff1a; 一&#xff0c;红黑树的概念 1.1&#xff0c;红黑树的规则 1.2&#xff0c;红黑树的最长路径 1.3&#xff0c;红黑树的效率分析 二&#xff0c;红黑树的实现 2.1&#xff0c;红黑树的结构 2.2&#xff0c;红黑树的插入 2.2.1&#xff0c;大致过程…

T-SQL语言的计算机基础

T-SQL语言的计算机基础 引言 在当今信息技术迅猛发展的时代&#xff0c;数据已成为企业和组织决策的重要基础。而处理和管理数据的工具和语言也日益成为IT专业人员必备的技能之一。T-SQL&#xff08;Transact-SQL&#xff09;作为微软SQL Server数据库的扩展&#xff0c;是一…

STM32 FreeRTOS中断管理

STM32 FreeRTOS 中断管理 一、中断优先级配置 在STM32上使用FreeRTOS时&#xff0c;合理配置中断优先级是非常重要的。STM32使用8位宽的寄存器来配置中断的优先等级&#xff0c;但实际只使用了高4位&#xff08;7:4&#xff09;&#xff0c;因此提供了最大16级的中断优先级。中…

【使用EasyExcel快速实现数据下载到Excel功能】

使用EasyExcel快速实现数据下载到Excel功能 EasyExcel官方文档 1. 引言 在Web应用开发中&#xff0c;数据导出为Excel文件是一个常见的需求。本文将介绍如何使用EasyExcel库快速实现数据的下载功能。我们将通过一个具体的例子来展示如何设置响应头、获取数据并将其写入Excel…