2017.04 vue学习笔记---04 class与style绑定(1)

/*

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
div{
margin-bottom: 20px;
}
</style>
<script src="js/vue.js"></script>
<script src="js/jquery-1.12.3.min.js"></script>
</head>
<body>
<!--
数据绑定一个常见需求是操作元素的 class 列表和它的内联样式。
因为它们都是属性 ,我们可以用v-bind 处理它们:只需要计算出表达式最终的字符串。
不过,字符串拼接麻烦又易错。因此,在 v-bind 用于 class 和 style 时,
Vue.js 专门增强了它。表达式的结果类型除了字符串之外,还可以是对象或数组。
-->
<!--对象语法
我们可以传给 v-bind:class 一个对象,以动态地切换 class 。-->
<div v-bind:class="{ active: isActive }"></div>
<!--上面的语法表示 classactive 的更新将取决于数据属性 isActive 是否为真值 。-->

<div class="static"
v-bind:class="{ active: isActive, 'text-danger': hasError }">
</div>
<!--
当 isActive 或者 hasError 变化时,class 列表将相应地更新。
例如,如果 hasError 的值为 true ,
class列表将变为 "static active text-danger"。
-->

<!--你也可以直接绑定数据里的一个对象:-->
<div id="demo2" v-bind:class="classObject"></div>
<div id="demo3" v-bind:class="classObject"></div>
<script>
var demo1 = new Vue({
el:'.static',
data:{
isActive:true,
hasError:false
}
})
var demo2 = new Vue({
el:'#demo2',
data:{
classObject:{
active:true,
'text-danger':true
}
}
})
var demo3 = new Vue({
el:'#demo3',
data:{
classObject:function () {
return{
active:this.isActive && !this.error,
'text-danger':this.error&&this.error.type==='fatal'
}
}
}
})
</script>
</body>
</html>

*/

学习是对自己负责,自己是职业发展的负责人!
原文地址:https://www.cnblogs.com/Webyangbowen/p/6678059.html