vue3 ——笔记 (条件渲染,列表渲染,事件处理)

条件渲染

v-if

 v-if 指令用于条件性地渲染一块内容,只有v-if的表达式返回值为真才会渲染

v-else

 v-else 为 v-if 添加一个 'else' 区块     v-else 必须在v-if或v-else-if后

v-else-if

 v-else-if 是v-if 的区块 可以连续多次重复使用

v-show

按条件显示元素 v-show  用法和v-if 基本相同

v-if和v-show 相同不同之处

相同之处:

  1. 都可以用于根据条件动态显示或隐藏页面元素。
  2. 都是Vue框架提供的指令,用于简化条件渲染的操作。
  3. 都可以通过条件表达式来确定元素是否显示,提供了灵活性和控制性。

不同之处:

  1. 触发时机:v-if是惰性的,只有在条件为真时才会渲染对应的元素;而v-show在初始化时即渲染了所有元素,只是在条件为假时将元素的display属性设为none。
  2. 性能开销:由于v-if是惰性的,条件为假时对应的元素不会被渲染,因此在条件变化频繁时,v-if具有更好的性能表现;而v-show虽然会一直渲染元素,但只是通过修改display属性来切换元素的显示与隐藏,不会造成重新渲染。
  3. 编译过程:v-if在条件为假时,对应的元素不存在于DOM结构中,需要重新编译和渲染;而v-show在条件为假时,元素始终存在于DOM结构中,只是通过样式控制其显示与隐藏,不会触发重新编译。
  4. 用法场景:一般来说,对于需要频繁切换显示状态的元素,使用v-show会比较适合;而对于需要根据条件动态添加或移除元素的场景,使用v-if更为合适。

综上所述,v-if和v-show虽然都是用于条件渲染的指令,但在实际应用中根据不同的场景和需求选择合适的指令来实现条件渲染效果将更加高效和灵活。

v-if 和 v-for

当二者同时存在时,v-if会先执行

v-ifv-for同时存在于同一个元素上时,Vue会根据官方文档的建议发出警告。原因是v-for的优先级比v-if更高,这意味着v-for会先被解析,然后再解析v-if。这可能会导致不必要的性能开销,因为v-if会在每次迭代时都被执行,而不是在条件为真时执行。

在这种情况下,建议的最佳做法是将v-if移动到包裹元素上,而不是直接放在带有v-for的元素上。这样可以确保v-if只会在条件为真时才会被执行,而不会在每次迭代时都被执行,从而提高性能并避免潜在的错误。

总的来说,最好避免在同一个元素上同时使用v-ifv-for,以确保代码的可读性和性能。

列表渲染

v-for

使用v-for 基于一个数组来渲染一个列表,v-for 语法 每一项 in 数组

v-for 与对象

v-for 来遍历一个对象时

结构:(值 键名 下标 ) in 对象

在v-for 里使用范围值

v-fo 可以接受一个整数值 从1 开始

v-if 和 v-for

当它们存有一个标签上 v-if 优先级更高  v-if 无法访问到 v-for作用域定义的变量别名

解决方法 在标签上放上<template>

数组变化检测

 vue能监听响应式数组的变更方法,在它们被调用时触发的更新

 方法:能改变原数组的方法(push, pop, shift, unshift, splice, sort, resvers)

替换一个数组:对原数组进行修改,返回新的数组

 旧数组  = 新数组

展示过滤或排序的结果

创建 计算属性  面对多次嵌套时 使用函数和v-for配合

事件处理

在Vue 3中,事件处理与Vue 2类似,但有一些新的特性和语法。你可以使用v-on指令来监听DOM事件,并在触发时执行相应的方法。

<template><button @click="handleClick">点击我</button>
</template><script>
import { defineComponent } from 'vue';export default defineComponent({methods: {handleClick() {console.log('按钮被点击了!');}}
});
</script>

监听事件

使用 v-on 简写为@ 来监听dom事

内联事件处理器

内联事件处理器 :事件被触发时执行绑定的js语句

 <button @click="变量 = ?">

方法事件处理器

一个执行组件上定义的方法的属性名或是路径

事件修饰符

  1. .stop:阻止事件冒泡
  2. .prevent:阻止事件的默认行为
  3. .capture:使用事件捕获模式
  4. .self:只当事件是从侦听器绑定的元素本身触发时才触发回调
  5. .once:事件只触发一次
  6. .passive:告诉浏览器你不想阻止事件的默认行为
<template><div><button @click.stop="handleClick">阻止事件冒泡</button><a href="#" @click.prevent="handleClick">阻止默认行为</a><div @click.capture="handleClick">使用捕获模式</div><div @click.self="handleClick">只在元素本身触发时触发</div><button @click.once="handleClick">只触发一次</button><a href="#" @click.passive="handleClick">passive修饰符</a></div>
</template><script>
import { defineComponent } from 'vue';export default defineComponent({methods: {handleClick() {console.log('事件被触发了!');}}
});
</script>

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

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

相关文章

【Linux系统化学习】生产者消费者模型(阻塞队列和环形队列)

目录 生产者消费者模型 什么是生产者消费者模型 为什么要使用生产者消费者模型 生产者消费者模型的优点 为什么生产者和生产者要互斥&#xff1f; 为什么消费者和消费者要互斥&#xff1f; 为什么生产者和消费者既是互斥又是同步&#xff1f; 基于BlockingQueue的生产者…

26版SPSS操作教程(高级教程第十六章)

目录 前言 粉丝及官方意见说明 第十六章一些学习笔记 第十六章一些操作方法 多维尺度分析 不考虑个体差异的多维尺度分析模型 假设数据 具体操作 结果解释 选择不同距离的排列方式 考虑个体差异的多维尺度分析模型&#xff08;INDSCAL&#xff0c;individual differ…

[C++ QT项目实战]----系统实现双击表格某一行,表格数据不再更新,可以查看该行所有信息,选中表更新之后,数据可以继续更新

前言 在需要庞大的数据量的系统中&#xff0c;基于合适的功能对数据进行观察和使用至关重要&#xff0c;本篇在自己项目实战的基础上&#xff0c;基于C QT编程语言&#xff0c;对其中一个数据功能进行分析和代码实现&#xff0c;希望可以有所帮助。一些特殊原因&#xff0c;图片…

车道分割YOLOV8-SEG

车道分割YOLOV8-SEG&#xff0c;训练得到PT模型&#xff0c;然后转换成ONNX&#xff0c;OPENCV的DNN调用&#xff0c;支持C,PYTHON,ANDROID开发 车道分割YOLOV8-SEG

数据污染对大型语言模型的潜在影响

大型语言模型&#xff08;LLMs&#xff09;中存在的数据污染是一个重要问题&#xff0c;可能会影响它们在各种任务中的表现。这指的是LLMs的训练数据中包含了来自下游任务的测试数据。解决数据污染问题至关重要&#xff0c;因为它可能导致结果偏倚&#xff0c;并影响LLMs在其他…

python三维交互可视化工具plotly使用

三维数据可视化工具使用 import plotly.graph_objects as go import numpy as np# 生成随机点 data np.random.uniform(-3,3,(100000, 2)) Z np.exp(-((data[:, 0] - 0)**2 / (2*1**2) (data[:, 1] - 0)**2 / (2*1**2)))scatter1 go.Scatter3d(xdata[:, 0], ydata[:, 1], …

【项目】仿muduo库One Thread One Loop式主从Reactor模型实现高并发服务器(Http板块)

【项目】仿muduo库One Thread One Loop式主从Reactor模型实现高并发服务器&#xff08;Http板块&#xff09; 一、思路图二、Util板块1、Splite板块&#xff08;分词&#xff09;&#xff08;1&#xff09;代码&#xff08;2&#xff09;测试及测试结果i、第一种测试ii、第二种…

关于discuz论坛网址优化的一些记录(伪静态)

最近网站刚上线&#xff0c;针对SEO做了些操作&#xff0c;为了方便网站网页被收录&#xff0c;特此记录下 1.开启伪静态 按照操作勾选所有项&#xff0c;然后点击查看伪静态规则 2.打开宝塔&#xff0c;找到左侧列表的网站&#xff0c;然后找到相应站点的设置。把discuz自动…

STM32的端口引脚的复用功能及重映射功能解析

目录 STM32的端口引脚的复用功能及重映射功能解析 复用功能 复用功能的初始化 重映射功能 重映射功能的初始化 复用功能和重映射的区别 部分重映射与完全重映射 补充 STM32的端口引脚的复用功能及重映射功能解析 复用功能 首先、我们可以这样去理解stm32引脚的复用功能…

SD-WAN怎样助力企业网络升级

随着企业规模的持续扩张&#xff0c;其网络建设的重要性日益凸显&#xff0c;成为业务成功的基石。尤其对于中小企业而言&#xff0c;信息化和电脑化已成为推动生产力和竞争力提升的关键所在。办公室自动化、数据库、ERP、CRM、物流供应链等关键业务应用的不断增加&#xff0c;…

css 文字左右抖动效果

<template><div class"box"><div class"shake shape">抖动特效交字11</div></div> </template><script setup></script><style scope> .shape {margin: 50px;width: 200px;height: 50px;line-heigh…

计算机存储原理.2

1.主存储器与CPU之间的连接 2.存储器芯片的输入输出信号 3.增加主存的存储字长 3.1位扩展 数据总线的利用成分是不充分的(单块只能读写一位)&#xff0c;为了解决这个问题所以引出了位扩展。 使用多块存储芯片解决这个问题。 3.2字扩展 因为存储器买的是8k*8位的&am…

Linear Secret-Sharing Scheme(LSSS) Monotone Span Program(MSP)

参考文献&#xff1a; [KW93] Karchmer M, Wigderson A. On span programs[C]//[1993] Proceedings of the Eigth Annual Structure in Complexity Theory Conference. IEEE, 1993: 102-111.[CDM00] Cramer R, Damgrd I, Maurer U. General secure multi-party computation fr…

【探索Java编程:从入门到入狱】Day2

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收…

js[黑马笔记]

js基础 基础语法 输入输出 变量 数组 常量 数据类型 类型转换 运算符 语句 数组 函数 调用方式 函数名() 匿名函数 使用: 1.函数表达式 2.立即执行函数 对象 内置对象 web API DOM document object Model元素操作 获取元素 设置元素 定时器 DOM事件基础 事件监听 事件类…

流量网关与服务网关的区别:(面试题,掌握)

流量网关&#xff1a;&#xff08;如Nignx&#xff0c;OpenResty&#xff0c;Kong&#xff09;是指提供全局性的、与后端业务应用无关的策略&#xff0c;例如 HTTPS证书认证、Web防火墙、全局流量监控&#xff0c;黑白名单等。 服务网关&#xff1a;&#xff08;如Spring Clou…

含匹配扰动的多智能体领航跟随一致性Matlab仿真

文章目录 [TOC](文章目录) 前言一、问题描述二、基于LQR的观测器和控制器设计1.观测器设计2.控制器设计 三、数值仿真四、参考文献总结 前言 ​本文探讨了带有匹配扰动的多智能体领航跟随一致性控制方法&#xff0c;并提供了相应的Matlab仿真代码。 具体的设计步骤如下&#…

大数据—数据采集DataX

一、DataX介绍 官网&#xff1a; DataX/introduction.md at master alibaba/DataX GitHub DataX 是阿里云 DataWorks数据集成 的开源版本&#xff0c;在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。 DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、…

【算法刷题 | 贪心算法02】4.24(摆动序列)

文章目录 3.摆动序列3.1题目3.2解法&#xff1a;贪心3.2.1贪心思路3.2.2代码实现 3.摆动序列 3.1题目 如果连续数字之间的差严格地在正数和负数之间交替&#xff0c;则数字序列称为 摆动序列 。 第一个差&#xff08;如果存在的话&#xff09;可能是正数或负数。仅有一个元素…

WPF 资源基础

动态资源/静态资源 UI代码 <Window x:Class"WpfApp1.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.microsoft.com/ex…