04、Class 与 Style 绑定

Vue 专门为 class 和 style 的 v-bind 用法提供了特殊的功能增强。除了字符串外,表达式的值也可以是对象或数组。


绑定 HTML class=》:class

绑定对象

:class 指令也可以和一般的 class attribute 共存

渲染的结果:

如果 hasError 变为 true,class 列表也会变成 "static active text-danger"

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

可以绑定一个返回对象的计算属性这是一个常见且很有用的技巧:

 

绑定数组

给 :class 绑定一个数组来渲染多个 CSS class:

想在数组中有条件地渲染某个 class,你可以使用三元表达式

 

可能在有多个依赖条件的 class 时会有些冗长。因此也可以在数组中嵌套对象 

在组件上使用

对于只有一个根元素的组件,当你使用了 class attribute 时,这些 class 会被添加到根元素上,并与该元素上已有的 class 合并。

声明了一个组件名叫 MyComponent

在使用时添加一些 class渲染出的 HTML 为:

Class 的绑定也是同样的:

 当 isActive 为真时,被渲染的 HTML 会是:

注意:如果你的组件有多个根元素,你将需要指定哪个根元素来接收这个 class。你可以通过组件的 $attrs 属性来实现指定:

被渲染为

可以在透传 Attribute 一章中了解更多组件的 attribute 继承的细节。【这里还没进行掌握】




绑定内联样式 =>:style

绑定对象

直接绑定一个样式对象

如果样式对象需要更复杂的逻辑,也可以使用返回样式对象的计算属性

绑定数组

绑定一个包含多个样式对象的数组

自动前缀

在 :style 中使用了需要浏览器特殊前缀的 CSS 属性时,Vue 会自动为他们加上相应的前缀。

样式多值

可以对一个样式属性提供多个 (不同前缀的) 值

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值