样式绑定
时间:2021-08-09
本文章向大家介绍样式绑定,主要包括样式绑定使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1、class样式处理
对象语法
我们可以传给 v-bind:class
一个对象,以动态地切换 class:
<div v-bind:class="{ active: isActive }"></div>
上面的语法表示 active
这个 class 存在与否将取决于数据 property isActive
的 真实性。
你可以在对象中传入更多字段来动态切换多个 class。此外,v-bind:class
指令也可以与普通的 class attribute 共存。当有如下模板:
// template
<div class="static" v-bind:class="{ active: isActive, 'text-danger': hasError }"></div>
// 业务逻辑
data: {
isActive: true,
hasError: false
}
结果渲染为:
<div class="static active"></div>
当 isActive
或者 hasError
变化时,class 列表将相应地更新。例如,如果 hasError
的值为 true
,class 列表将变为 "static active text-danger"
。
来看一个简单例子,实现切换功能
// css .active { width: 100px; height: 100px; border: 1px solid red; } // template <div :class="{active:isActive}"></div> <button @click="change">切换</button> // 业务逻辑 data: { isActive: true }, methods: { change: function () { this.isActive = !this.isActive; // 采用取反的方式实现切换 } }
绑定的数据对象不必内联定义在模板里:
// template
<div v-bind:class="classObject"></div>
// 业务逻辑
data: {
classObject: {
active: true,
'text-danger': false
}
}
渲染的结果和上面一样。我们也可以在这里绑定一个返回对象的计算属性。这是一个常用且强大的模式:
// 绑定一个返回对象的计算属性。这是一个常用且强大的模式:
数组语法
我们可以把一个数组传给 v-bind:class
,以应用一个 class 列表:
// template <div v-bind:class="[activeClass, errorClass]"></div> // 业务逻辑 data: { activeClass: 'active', errorClass: 'text-danger' }
渲染为:
<div class="active error">测试文字</div>
如果你也想根据条件切换列表中的 class,可以用三元表达式:
// css .active { width: 100px; height: 100px; border: 1px solid red; } .error { background-color: orange; } // template <div v-bind:class="[flag?activeClass : '', errorClass]">测试文字</div> <button @click="change">切换</button> // 业务逻辑 data: { flag: true, activeClass: 'active', errorClass: 'error' }, methods: { change: function () { this.flag = !this.flag } }
样式绑定的相关细节:
1、对象绑定可以和数组绑定结合使用
2、class绑定的值可以简化操作(不要写在内联样式当中,造成代码的可读性差)
3、v-bind:class
指令也可以与普通的 class attribute 共存
原文地址:https://www.cnblogs.com/kkw-15919880007/p/15119113.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法