vue3——笔记2(计算属性,类与样式绑定)

计算属性

在 Vue3 中,计算属性的用法和 Vue2 基本上是一样的,但是在性能上有了一些改进。Vue3 中计算属性是通过computed函数来创建的,计算属性的值会在相关依赖发生改变时自动更新。与 Vue2 相比,Vue3 的计算属性在一些场景下会更高效和更灵活。

<template><div><p>{{ fullName }}</p><p>{{ reversedMessage }}</p></div>
</template><script>
import { computed } from 'vue';export default {data() {return {firstName: 'John',lastName: 'Doe',message: 'Hello Vue3!'};},computed: {fullName() {return this.firstName + ' ' + this.lastName;},reversedMessage() {return this.message.split('').reverse().join('');}}
};
</script>

在这个示例中,我们定义了两个计算属性fullNamereversedMessage,分别用来计算全名和翻转消息。当firstNamelastNamemessage发生改变时,这两个计算属性的值会自动更新。

与 Vue2 相比,Vue3 中的计算属性使用了函数的形式进行定义,而不再使用对象的形式。这样可以更清晰地区分出数据和计算属性的逻辑,使得代码更易读、更易维护。此外,由于 Vue3 在响应性系统上进行了优化,计算属性的性能有了一定的提升。

总的来说,Vue3 的计算属性在用法和功能上与 Vue2 基本一致,但在一些细节上有了优化和改进,使得开发者在使用计算属性时更加方便和高效。

使用计算属性来描述依赖响应式状态的复杂逻辑

  computed 接收一个getter函数,返回值为一个计算属性 ref 计算属性在模板中会自动解包

  会自动追踪响应式依赖 当条件改变时 依赖于条件的绑定也会同步更新

计算属性 vs 方法

计算属性仅会在依赖更新时才会更新 方法 调用即更新

可写计算属性

 计算属性默认是只读的, 要修改通过 getter 和 setter 来创建 get返回值  set 改值不要在getter 中

做异步请求和更改dom

类与样式绑定

Vue3 中,可以通过v-bind:class指令或:class简写来动态绑定元素的类名,以实现灵活的样式控制。同时,也可以使用v-bind:style指令或:style简写来动态绑定元素的内联样式。

以下是一个简单的示例代码,演示了在 Vue3 中如何动态绑定类名和样式:

<template><div><div :class="{ active: isActive, 'text-danger': isError }" :style="{ color: textColor, fontSize: textSize + 'px' }" >Dynamic class and style</div></div>
</template><script>
export default {data() {return {isActive: true,isError: false,textColor: 'red',textSize: 20};}
};
</script>

在这个示例中,我们通过:class绑定了一个对象,根据isActiveisError的值来动态添加类名activetext-danger,从而控制元素的样式。同时,通过:style来绑定了一个对象,根据textColortextSize的值来动态设置元素的文本颜色和字体大小。

通过类与样式绑定的方法,我们可以根据数据的变化来动态更新元素的样式,实现更加灵活和可维护的前端界面设计。Vue3 的类与样式绑定功能与 Vue2 相比基本一致,但在性能和响应性方面有了一定的优化和改进。

绑定 html class

绑定对象

可以给 :class(v-bind:class 的缩写) 传递一个对象来动态切换class

 <div :class="{ 样式名:对象名} " />

 样式是否存在取决于对象的真假

动态绑定对象式 也可以和一般的绑定对象共存

<div class = "a" :class="{ b:isTrue}"/>

绑定的对象也可以是对象形式

 let obj = {                  <div :class=obj />

 样式1 = 变量

 样式2 = 变量

}

绑定的对象也可以是计算属性返回的变量

绑定数组

声明一个值为你的样式的变量

 let a = ref('样式名1')       <div :class=[a,b] />

 let b = ref('样式名2') 

在组件上使用

在组件上使用样式绑定时,如果组件只有一个元素,绑定在组件上的样式都会到组件唯一元素上

如果有多个元素需要指定那个根元素来接收 使用$attrs 来指定实现

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

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

相关文章

某翻译平台翻译接口逆向之webpack学习

逆向网址 aHR0cHM6Ly9mYW55aS55b3VkYW8uY29tLw 逆向链接 aHR0cHM6Ly9mYW55aS55b3VkYW8uY29tLyMv 逆向接口 aHR0cHM6Ly9kaWN0LnlvdWRhby5jb20vd2VidHJhbnNsYXRl 逆向过程 请求方式 POST 逆向参数 sign c168e4cb76169e90f82d28118dbd24d2 接口请求结果解密 过程分析 根据XHR…

大数据第七天

文章目录 吐槽一下这个是怎么需要真的这么大吗? 内核错误内核软死锁&#xff08;soft lockup&#xff09;我这个cpu很高吗?大模型都说了不超过80就行了 FinBi安装FinBI下载链接安装时间比较长 吐槽一下 dbeaver 查询hive 数据信息是真的慢&#xff0c;没有一点快的方式&…

【优秀AI项目】每日跟踪 OpenVoice ,AI快站,OpenVoice

持续更新好玩的开源AI项目或AI商业应用体验 一起来玩转AI&#xff01;&#xff01; 1 huggingface 国内镜像站&#xff1a;AI 快站 HUggingface被墙了&#xff0c;emmmmm 所以我之前玩模型的一大感觉就是 下载什么模型之类的太难受了&#xff01;服了 看到一个镜像站——…

在Visio中插入半圆状箭头

在 Microsoft Visio 中&#xff0c;你可以通过以下步骤来绘制一个带箭头的半圆&#xff1a; 1.打开 Visio&#xff1a;打开 Microsoft Visio 软件。 2.选择绘图类型&#xff1a;在 Visio 中&#xff0c;你可以选择使用“基本形状”或“箭头线”工具来绘制带箭头的半圆。 使用…

文件权限管理

文件权限管理 1. 权限对象 权限对象含义u属主&#xff0c;所有者g属组o其他人 2. 权限类型 权限类型含义值r读权限4w写权限2x执行权限1 3. 修改文件属主及属组 命令:chown(change own)更改文件或目录属主与属组名 3.1 修改文件属主与属组 只修改属主&#xff1a;chown $…

Open CASCADE学习|一个点的坐标变换

gp_Trsf 类是 Open CASCADE Technology (OCCT) 软件库中的一个核心类&#xff0c;用于表示和操作三维空间中的变换。以下是该类的一些关键成员和方法的介绍&#xff1a; 成员变量&#xff1a; scale: Standard_Real 类型&#xff0c;表示变换的缩放因子。 shape: gp_TrsfFor…

Android11 SystemUI clock plugin 插件入门

插件的编写 参照ExamplePlugin&#xff0c;需要系统签名。 需要先编译以下模块得到jar&#xff0c;引用在项目中。 m SystemUIPluginLibcom.android.systemui.permission.PLUGIN PluginManager.addPluginListener SystemUI 是如何发现 clock plugin 的&#xff1f; Syste…

FDY10蓄电池容量检测仪

FDY10-H说明书2013 08.pdf (book118.com)https://max.book118.com/html/2017/0510/105769526.shtm FDY10用户手册 - 百度文库 (baidu.com)https://wenku.baidu.com/view/22e7fe672d3f5727a5e9856a561252d380eb20ac?aggId28d62908f12d2af90242e62a&frcatalogMain_graph_v10…

ThingsBoard处理设备上报的属性并转换为可读属性

一、前言 二、案例 1、AI生成JSON数据体 2、将json数据体直接通过遥测topic发送查看效果 3、可查看目前整个数据都在一起 ​编辑 4、配置附规则链路 5、对msg的消息值&#xff0c;进行数据的转换&#xff0c;并从新进行赋值。 6、规则链路关联关系 7、再次通过MQTT发送遥…

【数据结构与算法】力扣 459. 重复的子字符串

题目描述 给定一个非空的字符串 s &#xff0c;检查是否可以通过由它的一个子串重复多次构成。 示例 1: 输入: s "abab" 输出: true 解释: 可由子串 "ab" 重复两次构成。示例 2: 输入: s "aba" 输出: false示例 3: 输入: s "abcabc…

WebGIS

文章目录 GIS的全名是Geographic Information System&#xff0c;中文全名是地理信息系统。 它是在计算机硬、软件系统支持下&#xff0c;对整个或部分地球表层&#xff08;包括大气层&#xff09;空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术…

详解23种设计模式——单例模式

单例模式 | CoderMast编程桅杆单例模式 单例模式是最常用的设计模式之一&#xff0c;他可以保证在整个应用中&#xff0c;某个类只存在一个实例化对象&#xff0c;即全局使用到该类的只有一个对象&#xff0c;这种模式在需要限制某些类的实例数量时非常有用&#xff0c;通常全局…

【GitHub】如何在github上提交PR(Pull Request) + 多个pr同时提交、互不干扰

【GitHub】如何在github上提交PR(Pull Request 写在最前面1. 准备工作1.1 注册 GitHub 账号1.2 了解 Git 基础1.3 找到一个项目 2. 创建你的 PR2.1 Fork 和克隆仓库2.2 创建一个新的分支2.3 进行更改2.4 推送更改到 GitHub2.5 创建 Pull Request 3. 优化你的 PR3.1 保持提交清晰…

基于VMD-CNN-BiLSTM-Attention组合模型时间序列预测

VMD-CNN-BiLSTM-Attention组合模型是一种复杂的神经网络结构&#xff0c;用于时间序列预测。让我逐步解释这个模型的每个组成部分以及它们是如何结合在一起的&#xff1a; VMD&#xff08;Variational Mode Decomposition&#xff09;&#xff1a;VMD是一种信号处理技术&#x…

Python、Django和MySQL框架的开源项目中值得学习和借鉴的项目

在Python、Django和MySQL框架的开源项目中&#xff0c;有很多值得学习和借鉴的项目。这些项目不仅可以帮助你了解如何使用这些技术栈进行开发&#xff0c;还能为你提供实践经验和灵感。以下是一些基于PythonDjangoMySQL框架的开源项目示例&#xff1a; Django博客系统&#xff…

【MySQL】DML

1、DML简介 DML&#xff08;Data Manipulation Language、数据操作语言&#xff09;&#xff0c;用于添加、删除、更新和查询数据库记录&#xff0c;并检查数据完整性。 2. 添加数据 2.1 使用关键字 使用 INSERT 语句向表中插入数据。使用 VALUES语句添加 2.2 使用情况 2.2…

JetBot手势识别实验

实验简介 本实验目的在JetBot智能小车实现手势识别功能&#xff0c;使用板卡为Jetson Nano。通过小车摄像头&#xff0c;识别五个不同的手势&#xff0c;实现小车的运动及灯光控制。 1.数据采集 连接小车板卡的Jupyterlab环境&#xff0c;运行以下代码块&#xff0c;配置数据…

Vitis HLS 学习笔记--C/C++ static 关键字的作用

目录 1. 简介 2. c/c共有性质 3. c独有性质 4. 示例说明 5. static 对于 HLS 工具的影响 6. 总结 1. 简介 在Vitis HLS中&#xff0c;偶尔会用到 static 关键字。考虑到Vitis HLS同时兼容C和C语言&#xff0c;有必要理解这两种语言中static关键字细微差异。本文旨在梳理…

靠近特定对象才可使用法术

实现目标 只有靠近特定creature | gameobject 才能使用特定技能&#xff0c;否则技能无法使用 实现方法 conditions SourceTypeOrReferenceId&#xff1a;17&#xff08;CONDITION_SOURCE_TYPE_SPELL&#xff09;SourceGroup&#xff1a;0SourceEntry&#xff1a;技能ID&am…

Linux cmake 初窥【1】

1.开发背景 linux 下编译程序需要用到对应的 Makefile&#xff0c;用于编译应用程序&#xff0c;但是 Makefile 的语法过于繁杂&#xff0c;甚至有些反人类&#xff0c;所以这里引用了cmake&#xff0c;cmake 其中一个主要功能就是用于生成 Makefile&#xff0c;cmake 的语法更…