资讯专栏INFORMATION COLUMN

Vue中 Class 与 Style 绑定

lemanli / 3036人阅读

摘要:与绑定数据绑定一个常见需求是操作元素的列表和它的内联样式。表达式的结果类型除了字符串之外,还可以是对象或数组。绑定对象语法我们可以传给一个对象,以动态地切换上面的语法表示的更新将取决于数据属性是否为真值。

Class 与 Style 绑定

数据绑定一个常见需求是操作元素的 class 列表和它的内联样式。因为它们都是属性 。因此,在 v-bind 用于 class 和 style 时, Vue.js 专门增强了它。表达式的结果类型除了字符串之外,还可以是对象或数组。

绑定 HTML Class 对象语法

我们可以传给 v-bind:class 一个对象,以动态地切换 class:

上面的语法表示 classactive 的更新将取决于数据属性 isActive 是否为真值 。
在对象中传入更多属性用来动态切换多个 class。

data: { isActive: true, hasError: false }

当 isActive 或者 hasError 变化时,class 列表将相应地更新。例如,如果 hasError 的值为 true , class列表将变为 "static active text-danger" 。

你也可以直接绑定数据里的一个对象:

1

也可以在这里绑定返回对象的计算属性

data: { isActive: true, error: null }, computed:{ classObject:function(){ return{ active:true, "text-danger": true, } } }
数组语法

我们可以把一个数组传给 v-bind:class,以应用一个 class 列表:

data: {
  activeClass: "active",
  errorClass: "text-danger"
}  

如果你也想根据条件切换列表中的 class,可以用三元表达式:

1
data:{
    isActive:true,
    cls1:"active",
    cls2:"text-danger",
};  

可以在数组语法中使用对象语法:

用在组件上

当你在一个自定义组件上用到 class 属性的时候,这些类将被添加到根元素上面,这个元素上已经存在的类不会被覆盖。

  
绑定内联样式 对象语法

绑定到一个样式对象

data:{
  styleObj:{
   border:"1px solid #ccc",
   color:"red",
   width:"200px"
  },  
数组语法

数组语法可以将多个样式对象应用到一个元素上:

1
data:{
  styleObj1:{
   border:"1px solid #ccc",
   color:"red",
   width:"200px"
  },
  styleObj2:{
       height:"100px",
       transform:"rotate(20deg)"
  },
};  
自动添加前缀

当 v-bind:style 使用需要特定前缀的 CSS 属性时,如 transform,Vue.js 会自动侦测并添加相应的前缀。

多重值

从 2.3.0 起你可以为 style 绑定中的属性提供一个包含多个值的数组,常用于提供多个带前缀的值,例如:

在这个例子中,如果浏览器支持不带浏览器前缀的 flexbox,那么渲染结果会是 display: flex。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/85132.html

相关文章

  • Vue.js-计算属性和classstyle绑定

    摘要:每一个计算属性都包含一个和一个。使用计算属性的原因在于它的依赖缓存。及与绑定的主要用法是动态更新元素上的属性。测试文字当的表达式过长或逻辑复杂时,还可以绑定一个计算属性。 学习笔记:前端开发文档 计算属性 所有的计算属性都以函数的形式写在Vue实例中的computed选项内,最终返回计算后的结果。 计算属性的用法 在一个计算属性中可以完成各种复杂的逻辑,包括运算、函数调用等,只要最终...

    Shihira 评论0 收藏0
  • 004-读书笔记-Vue官网 ClassStyle绑定

    摘要:绑定绑定,使用,简写的形式是。绑定比较灵活,可以使用表达式字符串对象或数组。绑定字符串绑定字符串的时候只能绑定一个,不能绑定多个。 1.绑定Class 绑定Class,使用 v-bind:class,简写的形式是 :class。绑定Class比较灵活,可以使用表达式、字符串、对象或数组。 1-1 搭建结构 首先,新建一些 class 样式: .colorRed { colo...

    hufeng 评论0 收藏0
  • Vue.js如何绑定classstyle(内联样式)

    摘要:我们还可以绑定返回对象的计算属性。用在组件上输出这同样适用于绑定输出绑定内联样式对象语法的对象语法十分直观看着非常像,其实它是一个对象。 vue的class和style绑定 绑定html class 对象语法 我们可以传给 v-bind:class 一个对象,以动态地切换 class: 上面的语法表示 class active 的更新将取决于数据属性 isActive 是否为真值 。...

    Chaz 评论0 收藏0
  • VueClass Style 绑定

    摘要:当我们在控制台修改的属性为时,会给添加一个蓝色的背景颜色。我们也可以传入更多的属性来切换多个。和上一篇的模板语法和计算属性下一篇的条件渲染和列表渲染 Class 与 Style 绑定 上一篇:Vue 的模板语法和计算属性 :https://segmentfault.com/a/11...下一篇:Vue 的条件渲染和列表渲染 :https://segmentfault.com/a/11....

    Eidesen 评论0 收藏0
  • React-JSX实现Class Style 动态绑定

    摘要:错误例子可以实现的语法如下使用逻辑运算符文件文件使用三元运算符文件使用函数绑定的数据对象也不必内联定义在模板里可以定义一个函数,类似中的钩子函数。 作者:羽徵 摘要:操作元素的 class 列表和内联样式是数据绑定的一个常见需求,频繁操作dom元素会降低javascript性能,为了实现高性能js,动态绑定class和style是高素养程序员的必选。本文以React-JSX语法为基础,...

    phodal 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<