Vue3类与样式绑定

news/2024/9/18 10:46:33

官网:https://cn.vuejs.org/guide/essentials/class-and-style.html#binding-inline-styles

绑定 HTML class

  • 绑定对象
const isActive = ref(true)
const hasError = ref(false)

<div
  class="static"
  :class="{ active: isActive, 'text-danger': hasError }"
></div>

绑定的对象并不一定需要写成内联字面量的形式,也可以直接绑定一个对象

const classObject = reactive({
  active: true,
  'text-danger': false
})
<div :class="classObject"></div>

我们也可以绑定一个返回对象的计算属性

const isActive = ref(true)
const error = ref(null)

const classObject = computed(() => ({
  active: isActive.value && !error.value,
  'text-danger': error.value && error.value.type === 'fatal'
}))

<div :class="classObject"></div>
  • 绑定数组
<div :class="[isActive ? activeClass : '', errorClass]"></div>

<div :class="[{ active: isActive }, errorClass]"></div>
  • 在组件上使用
    如果你的组件有多个根元素,你将需要指定哪个根元素来接收这个 class。你可以通过组件的 $attrs 属性来实现指定:
<!-- MyComponent 模板使用 $attrs 时 -->
<p :class="$attrs.class">Hi!</p>
<span>This is a child component</span>

<MyComponent class="baz" />

这将被渲染为:

<p class="baz">Hi!</p>
<span>This is a child component</span>

绑定内联样式(style)

  • 绑定对象
    直接绑定一个样式对象通常是一个好主意,这样可以使模板更加简洁,如果样式对象需要更复杂的逻辑,也可以使用返回样式对象的计算属性
const styleObject = reactive({
  color: 'red',
  fontSize: '13px'
})

<div :style="styleObject"></div>
  • 绑定数组
<div :style="[baseStyles, overridingStyles]"></div>

自动前缀

当你在 :style 中使用了需要浏览器特殊前缀的 CSS 属性时,Vue 会自动为他们加上相应的前缀。Vue 是在运行时检查该属性是否支持在当前浏览器中使用。如果浏览器不支持某个属性,那么将尝试加上各个浏览器特殊前缀,以找到哪一个是被支持的。

样式多值

你可以对一个样式属性提供多个 (不同前缀的) 值,举例来说:

<div :style="{ display: ['-webkit-box', '-ms-flexbox', 'flex'] }"></div>

数组仅会渲染浏览器支持的最后一个值。在这个示例中,在支持不需要特别前缀的浏览器中都会渲染为 display: flex


http://lihuaxi.xjx100.cn/news/295572.html

相关文章

数苹果-第12届蓝桥杯Scratch选拔赛真题精选

[导读]&#xff1a;超平老师计划推出Scratch蓝桥杯真题解析100讲&#xff0c;这是超平老师解读Scratch蓝桥真题系列的第91讲。 蓝桥杯选拔赛每一届都要举行4~5次&#xff0c;和省赛、国赛相比&#xff0c;题目要简单不少&#xff0c;再加上篇幅有限&#xff0c;因此我精挑细选…

(四) 共享模型之管程【Monitor 概念】

一、Java 对象头&#xff08;P75&#xff09; 二、原理之 Monitor(锁) Monitor 被翻译为监视器或管程。 每个 Java 对象都可以关联一个 Monitor 对象&#xff0c;如果使用 synchronized 给对象上锁&#xff08;重量级&#xff09;之后&#xff0c;该对象头的 Mark Word 中就被设…

Kotlin高仿微信-第27篇-朋友圈-相册选择图片或小视频

Kotlin高仿微信-项目实践58篇详细讲解了各个功能点&#xff0c;包括&#xff1a;注册、登录、主页、单聊(文本、表情、语音、图片、小视频、视频通话、语音通话、红包、转账)、群聊、个人信息、朋友圈、支付服务、扫一扫、搜索好友、添加好友、开通VIP等众多功能。 Kotlin高仿…

计算机毕业设计Java高校防疫物资管理系统(源码+系统+mysql数据库+lw文档)

计算机毕业设计Java高校防疫物资管理系统&#xff08;源码系统mysql数据库lw文档&#xff09; 计算机毕业设计Java高校防疫物资管理系统&#xff08;源码系统mysql数据库lw文档&#xff09;本源码技术栈&#xff1a; 项目架构&#xff1a;B/S架构 开发语言&#xff1a;Java语…

项目的坎坷一生

一、从产品到项目 项目的定义&#xff1a;只会进行一次&#xff0c;包含多项互相关联的任务&#xff0c;并且有绩效、时间、成本和范围限制的一项工作。 产品是解决某个问题的东西&#xff0c;项目是一个过程。 1、做产品VS做项目 ①从生命周期角度区别 做产品的生命周期相…

Stable Diffusion 关键词tag语法教程

Stable Diffusion 关键词tag语法教程 AI绘图在线体验 二次元绘图 在线体验地址:Stable Diffusion 模型包括&#xff1a; NovelAI&#xff0c;NovelAI的模型训练使用了数千个网站的数十亿张图片&#xff0c;包括 Pixiv、Twitter、DeviantArt、Tumblr等网站的作品。 Waifu&am…

`Computer-Algorithm` 最短路Shortest-Path,Dijkstra,SPFA,Floyd

Contents最短路Shortest-PathAlgorithm: Dijkstra最短路Shortest-Path Algorithm: Dijkstra Given a graph GGG, an total-order ≤\leq≤ on the set of the weight of all path ∣AB∣|AB|∣AB∣ (AB can be same) and a binary operator , then the weight of a path (the…

Rust权威指南之错误处理

一. 简述 在Rust中&#xff0c;我们将错误分为两大类&#xff1a;可恢复错误和不可恢复错误。 可恢复错误&#xff1a;例如文件未找到等&#xff0c;一般需要它们报告给用户并再次尝试进行操作&#xff1b; 不可恢复错误&#xff1a;这类错误往往就是Bug的另一种说法&#xf…