Vue#Class 与 Style 绑定

绑定HTMLCLASS

在我没看这之前,我觉得要写绑定class ,应该像绑定数据一样这么写

class ={{class-a}}

看官方教程时,不推荐这么写,推荐这样

v-bind:class="{ ‘class-a‘: isA, ‘class-b‘: isB }"

官方的解释,我觉得还是挺接地气的,最起码我能看的懂。

数据绑定一个常见需求是操作元素的 class 列表和它的内联样式。因为它们都是属性,我们可以用 v-bind 处理它们:我们只需要计算出表达式最终的字符串。不过,字符串拼接麻烦又易错。因此,在v-bind 用于 class 和 style 时,Vue.js 专门增强了它。表达式的结果类型除了字符串之外,还可以是对象或数组。

可以用对象语法来处理它们:

可以这样:https://jsfiddle.net/miloer/36ek1uco/

也可以这样:https://jsfiddle.net/miloer/36ek1uco/1/

也可以使用数组语法来处理:

https://jsfiddle.net/miloer/36ek1uco/2/

我觉得在样式里用表达式判断,这么做挺有创意的,不过个人感觉这么做又繁琐了点,不过官方说:

当有多个条件 class 时这样写有些繁琐。在 1.0.19+ 中,可以在数组语法中使用对象语法:

<div v-bind:class="[classA, { classB: isB, classC: isC }]">

这样是不是好多了。

绑定内联样式:

这个和绑定HTMLCLASS 方法差不多。

https://jsfiddle.net/miloer/36ek1uco/3/

https://jsfiddle.net/miloer/36ek1uco/4/

自动添加前缀

这个我觉得挺方便的,当使用v-bind:style 需要添加前缀CSS时,Vue.js 会自动侦测并添加相应的前缀。

v-bind

  • 缩写: :
  • 类型: * (with argument) | Object (without argument)
  • 参数: attrOrProp (optional)
  • 修饰符:用法:动态地绑定一个或多个 attribute,或一个组件 prop 到表达式。
    • .sync - 双向绑定,只能用于 prop 绑定。
    • .once - 单次绑定,只能用于 prop 绑定。
    • .camel - 将绑定的特性名字转回驼峰命名。只能用于普通 HTML 特性的绑定,通常用于绑定用驼峰命名的 SVG 特性,比如 viewBox
  • 在绑定 class 或 style 时,支持其它类型的值,如数组或对象。

    在绑定 prop 时,prop 必须在子组件中声明。可以用修饰符指定不同的绑定类型。

    没有参数时,可以绑定到一个对象。注意此时 class 和 style 绑定不支持数组和对象。

  • 示例:
    <!-- 绑定 attribute -->
    <img v-bind:src="imageSrc">
    
    <!-- 缩写 -->
    <img :src="imageSrc">
    
    <!-- 绑定 class -->
    <div :class="{ red: isRed }"></div>
    <div :class="[classA, classB]"></div>
    <div :class="[classA, { classB: isB, classC: isC }]"></div>
    
    <!-- 绑定 style -->
    <div :style="{ fontSize: size + ‘px‘ }"></div>
    <div :style="[styleObjectA, styleObjectB]"></div>
    
    <!-- 绑定到一个对象 -->
    <div v-bind="{ id: someProp, ‘other-attr‘: otherProp }"></div>
    
    <!-- prop 绑定,"prop" 必须在 my-component 组件内声明 -->
    <my-component :prop="someThing"></my-component>
    
    <!-- 双向 prop 绑定 -->
    <my-component :prop.sync="someThing"></my-component>
    
    <!-- 单次 prop 绑定 -->
    <my-component :prop.once="someThing"></my-component>
  • 另见:
时间: 2024-09-29 15:52:50

Vue#Class 与 Style 绑定的相关文章

Vue 使用v-bind:style 绑定样式

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> </head> <body> <div id="app&q

Vue.js Class与Style绑定

Class与Style绑定 对于数据绑定,一个常见的需求是操作元素的 class 列表和它的内联样式.因为它们都是属性,我们可以用 v-bind 来处理它们:只需要计算出表达式最终的字符串. 不过,字符串拼接麻烦又易错,因此,在 v-bind 用于 class 和 style 时,Vue.js 专门增强了它.表达式的结果类型除了字符串以外,还可以是对象或数组. 绑定HTML Class 1.对象语法 我们可以传给 v-bind:class 一个对象,以动态地切换 class <div v-bin

Vue.2.0.5-Class 与 Style 绑定

Class 与 Style 绑定 数据绑定一个常见需求是操作元素的 class 列表和它的内联样式.因为它们都是属性 ,我们可以用v-bind 处理它们:只需要计算出表达式最终的字符串.不过,字符串拼接麻烦又易错.因此,在 v-bind 用于 class 和 style 时, Vue.js 专门增强了它.表达式的结果类型除了字符串之外,还可以是对象或数组. 绑定 HTML Class 对象语法 我们可以传给 v-bind:class 一个对象,以动态地切换 class . <div v-bind

Vue教程:Class 与 Style 绑定(四)

绑定 HTML Class 对象语法 ①.添加单个class: <div v-bind:class="{ active: isActive }"></div> 上面的语法表示 active 这个 class 存在与否将取决于数据属性 isActive为真还是假. ②.添加多个class: <div class="static" v-bind:class="{ active: isActive, 'text-danger': h

Vue中Class与Style绑定

操作元素的class列表和内联样式是数据绑定的一个常见需求.因为它们都是属性,所以我们可以使用v-bind处理它们:只需要通过表达式计算出字符串结果即可.不过拼接字符串比较麻烦,因此在v-bind用于class和style时,vue做了专门的增强,表达式结果的类型除了字符串之外,还可以是对象和数组. 绑定HTML Class (1) 对象语法可以给v-bind:class一个对象,以动态切换class: <div v-bind:class="{active: isActive}"

vue入门:(class与style绑定)

对象语法 数组语法 一.对象语法 1.1对象语法绑定HTML Class 语法:v-bind:class="{'className1':boolean1,'className2':boolean2}" 1 <style> 2 div{ 3 width: 100px; 4 height: 100px; 5 } 6 .class1{ 7 background-color: #ff0; 8 } 9 .class2{ 10 background-color:#f00; 11 } 1

Vue.js 实战教程 V2.x(8)Class与Style绑定

8 Class与Style绑定 操作元素的 class 列表和内联样式是数据绑定的一个常见需求. 8.1绑定HTML Class 对象语法 我们可以传给 v-bind:class 一个对象,以动态地切换 class: <div v-bind:class="{ active: isActive }"></div> 上面的语法表示 active 这个 class 存在与否将取决于数据属性 isActive 的 truthiness. 你可以在对象中传入更多属性来动态

Vue的style绑定

style绑定 1.绑定的数据都在data中,所以通过this可以直接访问: 2.绑定有三种方式: ? 1.{}方式,其实就是直接将具体样式绑定: ? 2.样式对象名绑定: ? 3.[]多个样式对象名绑定: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </hea

Vue学习计划(基础三)-class与style绑定,条件渲染和列表渲染

Class与style绑定.条件渲染和列表渲染 目标: 熟练使用class与style绑定的多种方式 熟悉v-if与v-for的用法,以及v-if和v-for一起使用的注意事项 class与style绑定的多种方式 绑定class和style都是使用v-bind也就是: 无论是绑定class还是style,都有两种方式,一种是对象,一种是数组. class和:class是共存的 绑定示例 1.class对象绑定 <!-- 根据isActivity的真假,判断是否应用activity这个class