Vue学习记录 v-bind以及class与style的绑定

182 阅读1分钟

语法糖 v-bind 缩写成 : (冒号)

与class的绑定

1.对象语法

:class={className:isActive}一个对象可以动态切换class

2.数组语法

:class=[activeClass]

3.绑定内联样式 :style

与绑定class相同 都有对象语法和数组语法

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style>
		.divStyle{
			background: red;
			width: 100px;
			height: 100px;
		}
		.active{
			background: green;
			width: 100px;
			height: 100px;
		}
		.error{
			border:1px solid red;
		}
	</style>
</head>
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
<body>
	<div id="app">
		<div :class="{divStyle:isActive}"></div>
		<div :class="[activeClass,errorClass]"></div>
		<div :class="[{'active':isActive},error]"></div>
		<p :style="{'color':color,'fontSize':fontSize}">这是对象语法</p>
		<p :style="[c]">这是数组语法</p>
	</div>
</body>
<script>
new Vue({
	el:'#app',
	data:{
		isActive:true,
		activeClass:'active',
		color:'red',
		fontSize:'16px',
		c:{color:'red'}
	}
})
</script>
</html>

4对象语法中使用计算属性

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>Document</title>
   <style>
   	.divStyle{
   		background: red;
   		width: 100px;
   		height: 100px;
   	}
   	.active{
   		background: green;
   		width: 100px;
   		height: 100px;
   	}
   	.error{
   		border:1px solid red;
   	}
   </style>
</head>
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>	
<body>
   <div id="app">
   	<div :class="classObject"></div>
   </div>
</body>
<script>
new Vue({
   el:'#app',
   data:{
   	isActive:true,
   	activeClass:'active',
   	errorClass:'error'
   },
   computed:{
   	classObject(){
   		return{
   			active:this.isActive
   		}
   	}
   }	
})
</script>
</html>