Vue - v-bind

推荐:Vue汇总

Vue - v-bind

v-bind 使用

v-bind可以动态地绑定一个或多个attribute

在绑定classstyle这种attribute时,支持其它类型的值,如数组或对象。

代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>v-bind</title>
		<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
	</head>
	<body>
		<div id="div">
			<img v-bind:src="imgsrc">
		</div>
	</body>
</html>
<script>
	var vue = new Vue({
		el: '#div',
		data: {
			imgsrc: 'https://dss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1746429185,3447265728&fm=26&gp=0.jpg'
		}
	})
</script>

效果:
在这里插入图片描述
简写

代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>v-bind</title>
		<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
	</head>
	<body>
		<div id="div">
			<img :src="imgsrc">
		</div>
	</body>
</html>
<script>
	var vue = new Vue({
		el: '#div',
		data: {
			imgsrc: 'https://dss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1746429185,3447265728&fm=26&gp=0.jpg'
		}
	})
</script>

:v-bind:的简写形式,代码效果也是一样的。

内联字符串拼接

代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>v-bind</title>
		<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
	</head>
	<body>
		<div id="div">
			<img :src="'https://dss1.bdstatic.com/' + imgsrc">
		</div>
	</body>
</html>
<script>
	var vue = new Vue({
		el: '#div',
		data: {
			imgsrc: '70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1746429185,3447265728&fm=26&gp=0.jpg'
		}
	})
</script>

效果也是一样的。

class 绑定

可通过数组或对象进行绑定。

代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>v-bind</title>
		<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
	</head>
	<body>
		<div id="div" :class="['class1' , 'class2' , 'class3']">
		</div>
	</body>
</html>
<style type="text/css">
	.class1{
		background-color: red;
	}
	.class2{
		border: 2px solid black;
	}
	.class3{
		width: 50%;
		height: 100px;
	}
</style>
<script>
	var vue = new Vue({
		el: '#div'
	})
</script>

在这里插入图片描述
代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>v-bind</title>
		<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
	</head>
	<body>
		<div id="div" :class="{'class1' : true , 'class2' : true , 'class3' : class3}">
		</div>
	</body>
</html>
<style type="text/css">
	.class1{
		background-color: red;
	}
	.class2{
		border: 2px solid black;
	}
	.class3{
		width: 50%;
		height: 100px;
	}
</style>
<script>
	var vue = new Vue({
		el: '#div',
		data: {
			class3: true
		}
	})
</script>

效果也是一样的。

代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>v-bind</title>
		<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
	</head>
	<body>
		<div id="div" :class="['class1', {'class2' : true , 'class3' : class3}]">
		</div>
	</body>
</html>
<style type="text/css">
	.class1{
		background-color: red;
	}
	.class2{
		border: 2px solid black;
	}
	.class3{
		width: 50%;
		height: 100px;
	}
</style>
<script>
	var vue = new Vue({
		el: '#div',
		data: {
			class3: true
		}
	})
</script>

效果也是一样的。

style 绑定

其实和class绑定用法差不多,这里就简单介绍一下。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>v-bind</title>
		<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
	</head>
	<body>
		<div id="div">
			<p :style="[{fontSize : size + 'px'} , colorObject]">Kaven</p>
		</div>
	</body>
</html>
<script>
	var vue = new Vue({
		el: '#div',
		data: {
			size: 50,
			colorObject: {
				color: 'red'
			},
		}
	})
</script>

效果如下图:
在这里插入图片描述

绑定全是attribute的对象

代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>v-bind</title>
		<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
	</head>
	<body>
		<div id="div">
			<p v-bind="{style : styleObject , class : class1}">Kaven</p>
		</div>
	</body>
</html>
<style type="text/css">
	.class1{
		border : 2px solid black;
	}
	.class2:hover{
		border: none;
	}
</style>
<script>
	var vue = new Vue({
		el: '#div',
		data: {
			styleObject: {
				color: 'red',
				fontSize : '50px'
			},
			class1: ['class1' , 'class2']
		}
	})
</script>

效果如下面两张图:

鼠标不放在框区域内。
在这里插入图片描述
鼠标放在框区域内,效果和预期一样。
在这里插入图片描述

单向绑定

代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>v-bind</title>
		<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
	</head>
	<body>
		<div id="div">
			<input type="text" v-bind:value="inputValue">
		</div>
	</body>
</html>
<script>
	var vue = new Vue({
		el: '#div',
		data: {
			inputValue: 'kaven'
		}
	})
</script>

在这里插入图片描述
改变inputValue的值,输入框的值会跟着变。
在这里插入图片描述
而改变输入框中的值,inputValue的值不会跟着变,这就是v-bind的单向绑定。
在这里插入图片描述

v-bind的使用就介绍到这里。

写博客是博主记录自己的学习过程,如果有错误,请指正,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ITKaven

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值