Class绑定的对象语法

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="https://unpkg.com/vue"></script>
<style type="text/css">
.active {
width: 64px;
height: 64px;
background: blue;
}
.text-danger {
background: red;
}
</style>
</head>
<body>
<div id="app-1">
<div v-bind:class="{ active: isActive, textDanger: hasError }"></div>
</div>
<script type="text/javascript">
var vm1 = new Vue({
el: '#app-1',
data: {
isActive: true,
hasError: false
}
})
</script>
</body>
</html>

最基础样式绑定,是否使用样式由后面的布尔值决定

也可以绑定一个对象,这样看起来代码更清爽一些

<div id="app-2">
<div v-bind:class="classObject"></div>
</div>
<script type="text/javascript">
var vm2 = new Vue({
el: '#app-2',
data: {
classObject: {
active: true,
'text-danger': true
}
}
})
</script>

这两段代码中有个地方要特别注意一下,Bootstrap的text-danger属性分别使用了textDanger(驼峰式)和text-danger(串联式)的写法,这2种写法Vue都是支持的,唯一要注意的是使用串联式要加单引号

例如:font-size属性,在Vue里面可以写成fontSize(驼峰式)或'font-size'(串联式)

Class绑定的数组语法

<div id="app-3">
<!-- 可以用三元表达式来选择性的渲染 -->
<div v-bind:class="[activeClass, hasError ? errorClass : '']"></div>
<!-- 也可以在数组语法中使用对象语法 -->
<div v-bind:class="[activeClass, { errorClass: hasError }]"></div>
</div>
<script type="text/javascript">
var vm3 = new Vue({
el: '#app-3',
data: {
hasError: true,
activeClass: 'active',
errorClass: 'text-danger'
}
})
</script>

内联绑定的对象语法

<div id="app-4">
<div v-bind:style="{ color:activeColor, fontSize: fontSize + 'px' }">双子宫殿</div>
</div>
<script type="text/javascript">
var vm4 = new Vue({
el: '#app-4',
data: {
activeColor: 'red',
fontSize: 30
}
})
</script>

同样内联绑定也可以绑定一个对象

<div id="app-5">
<div v-bind:style="styleObject">Hello, TanSea!</div>
</div>
<script type="text/javascript">
var vm5 = new Vue({
el: '#app-5',
data: {
styleObject: {
color: 'green',
fontSize: '20px'
}
}
})
</script>

内联绑定的数组语法

<div id="app-6">
<div v-bind:style="[ baseStyles, overridingStyles ]">Hello, TanSea!</div>
</div>
<script type="text/javascript">
var vm6 = new Vue({
el: '#app-6',
data: {
baseStyles: {
color: 'blue',
fontSize: '30px'
},
overridingStyles: {
fontFamily: '微软雅黑'
}
}
})
</script>

总体来说,样式绑定相对来说是比较简单的,只要记住语法格式就行了

Vue.js学习笔记 第二篇 样式绑定的更多相关文章

  1. Vue.js学习 Item6 -- Class 与 样式绑定

    数据绑定一个常见需求是操作元素的 class 列表和它的内联样式.因为它们都是 attribute,我们可以用 v-bind 处理它们:只需要计算出表达式最终的字符串.不过,字符串拼接麻烦又易错.因此 ...

  2. Vue.js学习笔记 第一篇 数据绑定

    双花括号文本插值 先来个最简单的例子,看完之后立马会用Vue了,是不是很有成就感 <!DOCTYPE html> <html> <head> <meta ch ...

  3. js学习笔记第二篇

    Js笔记整理 1.StringAPI a)        大小写转换:str.toUpperCase();str.toLowerCase(); b)        获取指定位置字符: Str[i]-- ...

  4. vue.js学习系列-第二篇

    一 VUE实例生命周期钩子     1 生命周期函数         定义 生命周期函数就是vue在某一时间点自动执行的函数 2 具体函数      1 new vue()      2 before ...

  5. vue.js 学习笔记3——TypeScript

    目录 vue.js 学习笔记3--TypeScript 工具 基础类型 数组 元组 枚举 字面量 接口 类类型 类类型要素 函数 函数参数 this对象和类型 重载 迭代器 Symbol.iterat ...

  6. Vue.js学习笔记(2)vue-router

    vue中vue-router的使用:

  7. Vue.js学习笔记:在元素 和 template 中使用 v-if 指令

    f 指令 语法比较简单,直接上代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " ...

  8. Vue.js 学习笔记 第4章 v-bind 及 class与style绑定

    本篇目录: 4.1 了解v-bind指令 4.2 绑定class的几种方式 4.3 绑定内联样式 DOM元素经常会动态地绑定一些class类名或style样式,本章将介绍使用v-bind指令来绑定cl ...

  9. Vue.js——学习笔记

    Vue-自学笔记 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层,不仅 ...

随机推荐

  1. Linux下mongodb安装及数据导入导出教程

    Linux下mongodb安装及数据导入导出教程 #查看linux发行版本 cat /etc/issue #查看linux内核版本号 uname -r 一.Linux下mongodb安装的一般步骤 1 ...

  2. go http的三种实现---2

    package main import ( "io" "log" "net/http" "os" ) func main ...

  3. iOS开发常见问题(不断更新)

    1.如何从程序退出到桌面 在单击事件中 exit(0);即可. 2.如何强制横屏 在你需要横屏的控制器里加入如下代码 - (BOOL)shouldAutorotate{ return NO; } - ...

  4. shell 命令getopts用法

    写shell脚本常见sh test.sh -m 2 -d 3的写法 事例脚本: #!/bin/bash while getopts ":a:b:c:" arg #选项后面的冒号表示 ...

  5. Kettle 7启动 Spoon.bat 时报错“A Java Exception has occurred.”的解决方法

    最近在研究Kettle 时出现启动时报错“A Java Exception has occurred.”的问题.刚开始没搞明白是什么原因,后来发现是jdk版本的问题.出现这个错误原因是 Kettle ...

  6. 摄像机互联网直播之EasyCloud云平台与EasyNVS云端管控的全局对比

    背景分析 近期,Easy系列推出了EasyNVS,在功能上也是可以满足将内网的视频直播转发到公网,再由公网进行视频流的分发. 听起来和EasyCloud功能上是冲突的,其实两者之间的差别还是存在的,本 ...

  7. 160819、JavaScript-数组去重由慢到快由繁到简

    JavaScript-数组去重由慢到快由繁到简演化   indexOf去重 Array.prototype.unique1 = function() { var arr = []; for (var ...

  8. 转载:HTML/CSS 速写神器:Emmet

    转载在http://bubkoo.com/2014/01/04/emmet-a-toolkit-for-improving-html-css-workflow/ 在前端开发的过程中,一个最繁琐的工作就 ...

  9. Using InfluxDB in Grafana,influxDB在grafana中使用

    grafana带有功能丰富的数据源插件influxDB.支持丰富的查询编辑器.注释和templating(模版)查询. 增加数据源(Adding the data source) 点击顶部Grafan ...

  10. PHP heredoc 用法2

    参考网上的一个heredoc php模板实现的简单代码:index.php文件: <?php function template($template,$EXT ='htm') { $path = ...