vue.js入门教程之绑定class和style样式


Posted in Javascript onSeptember 02, 2016

一、前言

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

二、绑定 HTML Class

请注意:尽管可以用 Mustache 标签绑定 class,比如 class="{{ className }}" ,但是我们不推荐这种写法和 v-bind:class 混用。两者只能选其一!

对象语法

我们可以传给 v-bind:class 一个对象,以动态地切换 class。注意 v-bind:class 指令可以与普通的 class 特性共存:

<div class="static" v-bind:class="{ 'class-a': isA, 'class-b': isB }"></div>
data: {
 isA: true,
 isB: false
}

渲染为:

<div class="static class-a"></div>

当 isA 和 isB 变化时,class 列表将相应地更新。例如,如果 isB 变为 true,class 列表将变为 "static class-a class-b"。

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

<div v-bind:class="classObject"></div>
data: {
 classObject: {
 'class-a': true,
 'class-b': false
 }
}

我们也可以在这里绑定一个返回对象的计算属性。这是一个常用且强大的模式。

数组语法

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

<div v-bind:class="[classA, classB]">
data: {
 classA: 'class-a',
 classB: 'class-b'
}

渲染为:

<div class="class-a class-b"></div>

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

<div v-bind:class="[classA, isB ? classB : '']">

此例始终添加 classA,但是只有在 isB 是 true 时添加 classB 。

二、绑定内联样式

对象语法

v-bind:style 的对象语法十分直观——看着非常像 CSS,其实它是一个 JavaScript 对象。CSS 属性名可以用驼峰式(camelCase)或短横分隔命名(kebab-case):

<div v-bind:style="{ color: activeColor, fontSize: fontSize + 'px' }"></div>
data: {
 activeColor: 'red',
 fontSize: 30
}

直接绑定到一个样式对象通常更好,让模板更清晰:

<div v-bind:style="styleObject"></div>
data: {
 styleObject: {
 color: 'red',
 fontSize: '13px'
 }
}

同样的,对象语法常常结合返回对象的计算属性使用。

三、数组语法

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

<div v-bind:style="[styleObjectA, styleObjectB]">

自动添加前缀

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

四、总结

以上就是为大家整理的vue.js绑定class和style样式的全部内容,文章介绍的很详细,具有一定的参考学习价值,希望对大家学习vue.js能有所帮助,小编还会陆续更新关于vue.js的信息,感兴趣的朋友们请继续关注三水点靠木。

Javascript 相关文章推荐
实现复选框全选/全不选切换
Dec 23 Javascript
JavaScript 滚轮事件使用说明
Mar 07 Javascript
javascript 进阶篇1 正则表达式,cookie管理,userData
Mar 14 Javascript
JavaScript Sort 的一个错误用法示例
Mar 20 Javascript
js实时获取并显示当前时间的方法
Jul 31 Javascript
angularjs 表单密码验证自定义指令实现代码
Oct 27 Javascript
解决ie img标签内存泄漏的问题
Oct 13 Javascript
基于JavaScript中字符串的match与replace方法(详解)
Dec 04 Javascript
基于JavaScript中标识符的命名规则介绍
Jan 06 Javascript
Vuejs 单文件组件实例详解
Feb 09 Javascript
vue获取当前点击的元素并传值的实例
Mar 09 Javascript
JS代码检查工具ESLint介绍与使用方法
Feb 04 Javascript
js绘制购物车抛物线动画
Nov 18 #Javascript
基于jQuery实现发送短信验证码后的倒计时功能(无视页面关闭)
Sep 02 #Javascript
基于JS实现发送短信验证码后的倒计时功能(无视页面刷新,页面关闭不进行倒计时功能)
Sep 02 #Javascript
node.js中module.exports与exports用法上的区别
Sep 02 #Javascript
AngularJs Scope详解及示例代码
Sep 01 #Javascript
AngularJs Modules详解及示例代码
Sep 01 #Javascript
AngularJs IE Compatibility 兼容老版本IE
Sep 01 #Javascript
You might like
snoopy 强大的PHP采集类使用实例代码
2010/12/09 PHP
thinkphp实现数组分页示例
2014/04/13 PHP
JS异常处理try..catch语句的作用和实例
2014/05/05 PHP
php去掉文件前几行的方法
2015/07/29 PHP
PHP通过文件路径获取文件名的实例代码
2018/10/14 PHP
解决laravel5.4下的group by报错的问题
2019/10/16 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
2020/02/18 PHP
silverlight线程与基于事件驱动javascript引擎(实现轨迹回放功能)
2011/08/09 Javascript
浅谈javascript 函数属性和方法
2015/01/21 Javascript
详解javascript传统方法实现异步校验
2016/01/22 Javascript
纯js实现页面返回顶部的动画(超简单)
2017/08/10 Javascript
详解Vue组件之间通信的七种方式
2019/04/14 Javascript
JS开发自己的类库实例分析
2019/08/28 Javascript
vue与iframe之间的信息交互的实现
2020/04/08 Javascript
Vue 同步异步存值取值实现案例
2020/08/05 Javascript
探索浏览器页面关闭window.close()的使用详解
2020/08/21 Javascript
python实现的重启关机程序实例
2014/08/21 Python
Python使用爬虫猜密码
2016/02/19 Python
Python整型运算之布尔型、标准整型、长整型操作示例
2017/07/21 Python
Python使用numpy实现BP神经网络
2018/03/10 Python
Python+Django搭建自己的blog网站
2018/03/13 Python
Python实现的寻找前5个默尼森数算法示例
2018/03/25 Python
python实现excel读写数据
2021/03/02 Python
python获取文件真实链接的方法,针对于302返回码
2018/05/14 Python
pandas表连接 索引上的合并方法
2018/06/08 Python
Python3字符串encode与decode的讲解
2019/04/02 Python
Python 旋转打印各种矩形的方法
2019/07/09 Python
pip指定python位置安装软件包的方法
2019/07/12 Python
python使用socket 先读取长度,在读取报文内容示例
2019/09/26 Python
Pandas时间序列重采样(resample)方法中closed、label的作用详解
2019/12/10 Python
印度网上购物首选目的地:Flipkart
2016/08/01 全球购物
以实惠的价格提供高品质的时尚:Newchic
2018/01/18 全球购物
高三自我鉴定怎么写
2013/10/19 职场文书
《跨越百年的美丽》教学反思
2014/02/11 职场文书
竞选班干部演讲稿
2014/04/24 职场文书
2013年最新自荐信范文
2014/06/23 职场文书