欢迎来到DIVCSS5查找CSS资料与学习DIV CSS布局技术!
一、"  "内是vue对象内存在的对象
 
        :class = " 语句" , 语句中传入的是vue建立的变量,计算属性,函数等的时候,就会把vue中所对应的对象的值替换成class的值。传入的是字符串'   '的话就直接作为class属性值。
 
        这种情况不能绑定一个class值,并且只能通过绑定的class的变量的值修改才能改变class属性的值。
 
        代码实例:
 
<!DOCTYPE html>
 
<html>
 
<head>
 
<meta charset="UTF-8">
 
<title></title>
 
<style>
 
.active{
 
color:red;
 
}
 
</style>
 
<script src="js/vue.js"></script>
 
</head> 
 
<body>
 
<div id="app">
 
<div :class="c1">{{c1}}</div>
 
</div>
 
<script>
 
const app = new Vue({
 
el:"#app",
 
data:{ 
 
c1:"active"
 
},
 
});
 
</script>
 
</body>
 
</html>
 
         页面效果:
 
二、"  " 内为  [  ] 数组
 
        当我们想绑定多个class属性值时,就可以在"  "内传入 [  ]  数组。数组内的值是vue内的对象变量名。如果带有'  '则传入的就是实际值,不会被替换。
 
        代码实例:
 
<!DOCTYPE html>
 
<html>
 
<head>
 
<meta charset="UTF-8">
 
<title></title>
 
<style>
 
.active{
 
color:red;
 
}
 
.font{
 
background-color:blue;
 
}
 
</style>
 
<script src="js/vue.js"></script>
 
</head> 
 
<body>
 
<div id="app">
 
<div :class="[c1,c2,'c3']">{{c1}}</div>  
 
</div>
 
<script>
 
const app = new Vue({
 
el:"#app",
 
data:{ 
 
c1:"active",
 
c2:"font",
 
},
 
});
 
</script>
 
</body>
 
</html>
 
        页面效果:  显然标签属性会是 class="active font c3"; 
 
三、 "  "内为 {   }  json对象
 
        当我们想绑定多个class属性值,设置的每个class属性值是已经给出的。可以设置绑定的属性值时决定要还是不要,比如 class = "n1 n2", 我们通过vue可以将设置成class = "n1",但不能通过vue直接设置成class="n3"  ; 
 
        我们就要用到 {  } 对象来表达。只有每一个设置的class属性值对应的一个boolean类型的值来决定该标签是否拥有该属性值,但对应的boolean值是true才给class属性赋值。
 
        格式为:
 
该类型的格式为   :class = " { n1 : b1 , n2:  b2  }" ;
 
注意:
 
// b1,b2是boolean类型
 
//  n1,n2不在被vue对象替换,就是纯文本 !无论加不加" ", 如上述 ,假设b1 = true, b2=true。则在页面渲染时, 该标签属性   class = " n1  n2"
 
         代码演示:  
 
<!DOCTYPE html>
 
<html>
 
<head>
 
<meta charset="UTF-8">
 
<title></title>
 
<style>
 
.active{
 
color:red;
 
}
 
.font{
 
background-color:blue;
 
}
 
</style>
 
<script src="js/vue.js"></script>
 
</head> 
 
<body>
 
<div id="app">
 
<div :class="{active:isTrue1,font:isTrue2}">{{c1}}</div>
 
</div>
 
<script>
 
const app = new Vue({
 
el:"#app",
 
data:{ 
 
c1:"active",
 
c2:"font",
 
isTrue1:true,
 
isTrue2:false
 
},
 
});
 
</script>
 
</body>
 
</html>
 
        页面效果:果不其然,  :class="{active:isTrue1,font:isTrue2}"   中active,font并没有被vue替换,而是直接当成class属性值 !

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h64366.shtml