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 相关文章推荐
jQuery 对Select的操作备忘记录
Jul 04 Javascript
Firefox和IE兼容性问题及解决方法总结
Oct 08 Javascript
javascript修改图片src的方法
Jan 27 Javascript
Jquery 实现弹出层插件
Jan 28 Javascript
JavaScript中定时控制Throttle、Debounce和Immediate详解
Nov 17 Javascript
BootStrap中jQuery插件Carousel实现轮播广告效果
Mar 27 jQuery
jQuery图片缩放插件smartZoom使用实例详解
Aug 25 jQuery
详述 Sublime Text 打开 GBK 格式中文乱码的解决方法
Oct 26 Javascript
webpack配置导致字体图标无法显示的解决方法
Mar 06 Javascript
序列化模块json代码实例详解
Mar 03 Javascript
全局安装 Vue cli3 和 继续使用 Vue-cli2.x操作
Sep 08 Javascript
js实现简单的随机点名器
Sep 17 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
一段php加密解密的代码
2007/07/16 PHP
将PHP从5.3.28升级到5.3.29时Nginx出现502错误
2015/05/09 PHP
JavaScript语言中的Literal Syntax特性分析
2007/03/08 Javascript
基于jquery的合并table相同单元格的插件(精简版)
2011/04/05 Javascript
将input file的选择的文件清空的两种解决方案
2013/10/21 Javascript
使用jQuery解决IE与FireFox下createElement方法的差异
2013/11/14 Javascript
JS匀速运动演示示例代码
2013/11/26 Javascript
css配合jquery美化 select
2013/11/29 Javascript
jquery限定文本框只能输入数字即整数和小数
2013/11/29 Javascript
js判断是否为ie的方法小结
2014/01/13 Javascript
js实现类似jquery里animate动画效果的方法
2015/04/10 Javascript
从重置input file标签中看jQuery的 .val() 和 .attr(“value”) 区别
2016/06/12 Javascript
jQuery滚动新闻实现代码
2016/06/26 Javascript
AngularJS 指令的交互详解及实例代码
2016/09/14 Javascript
微信小程序图片横向左右滑动案例
2017/05/19 Javascript
基于javascript中的typeof和类型判断(详解)
2017/10/27 Javascript
用WebStorm进行Angularjs 2开发(环境篇:Windows 10,Angular-cli方式)
2018/12/05 Javascript
解决layui checkbox 提交多个值的问题
2019/09/02 Javascript
layui 根据后台数据动态创建下拉框并同时默认选中的实例
2019/09/02 Javascript
python使用json序列化datetime类型实例解析
2018/02/11 Python
Django rest framework工具包简单用法示例
2018/07/20 Python
scrapy-redis的安装部署步骤讲解
2019/02/27 Python
使用PyQt5实现图片查看器的示例代码
2020/04/21 Python
tensorflow pb to tflite 精度下降详解
2020/05/25 Python
利用keras使用神经网络预测销量操作
2020/07/07 Python
Python函数调用追踪实现代码
2020/11/27 Python
美国最大点评网站:Yelp
2018/02/14 全球购物
Laura Geller官网:美国彩妆品牌
2018/12/29 全球购物
皇家阿尔伯特瓷器美国官网:Royal Albert美国
2020/02/16 全球购物
最新销售员个人自荐信
2013/09/21 职场文书
初中生学习生活的自我评价
2013/11/20 职场文书
委托书样本
2014/04/02 职场文书
身边的榜样活动方案
2014/08/20 职场文书
MBA推荐信怎么写
2015/03/25 职场文书
儿童诗两首教学反思
2016/02/23 职场文书
动画「进击的巨人」第86话播出感谢绘公开
2022/03/21 日漫