1-6.Vue内部指令之v-bind

Vue入门

vue内部指令--------v-bind指令

v-bind是处理HTML中的标签属性的,例如img标签的src属性
v-bind的两种写法

<!-- 完整语法 -->
<a v-bind:href="url"></a>
<!-- 缩写 -->
<a :href="url"></a>
现在介绍一下v-bind的主要应用:
1.v-bind绑定img标签的src属性,对src进行动态赋值
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>v-bind实例</title>
		<script type="text/javascript" src="../assets/js/vue.js"></script>
	</head>
	<body>
		<div id="app">
			<h1>这是v-bind绑定标签属性的实例</h1>
			<p>绑定img标签的src属性</p>
			<img v-bind:src="imgUrl" width="400px" />
			<p>v-bind的缩写,直接用“ : ”来代替</p>
			<img :src="imgUrl" width="400px"/>
         </div>
         <script>
			var demo=new Vue({
				el:'#app',
				data:{
					imgUrl:'http://img3.imgtn.bdimg.com/it/u=1740814700,1451766025&fm=15&gp=0.jpg'
				}
			})
		</script>
	</body>
</html>

运行结果:
在这里插入图片描述

2.v-bind绑定css样式,v-bind可以用“ :"代替
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>v-bind实例</title>
		<script type="text/javascript" src="../assets/js/vue.js"></script>
	</head>
	<body>
		<div id="app">
			<div :class="classA">1.v-bind绑定css样式</div>
         </div>
         <style>
			.boxA{
				color: red;
			}
			.boxB{
				font-size:30px;
			}
		</style>
         <script>
			var demo=new Vue({
				el:'#app',
				data:{
					classA:'boxA'
				}
			})
		</script>
	</body>
</html>

运行结果:
在这里插入图片描述

3.v-bind绑定css样式,加入判断

解释:绑定classA并进行判断,在isOK为true时显示样式,在isOk为false时不显示样式。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>v-bind实例</title>
		<script type="text/javascript" src="../assets/js/vue.js"></script>
	</head>
	<body>
		<div id="app">
		<div :class="{boxA:isOk}">2.v-bind绑定css样式:通过判断isOk的值,改变字显示的样式</div>
			<input type="checkbox" id="one" value="one" v-model="isOk"/>
			<label for="one">选择的isOk的值时:{{isOk}}</label>
         </div>
         <style>
			.boxA{
				color: red;
			}
			.boxB{
				font-size:30px;
			}
		</style>
         <script>
			var demo=new Vue({
				el:'#app',
				data:{
				    classA:'boxA',
					classB:'boxB',
					isOk:false
				}
			})
		</script>
	</body>
</html>

运行结果:
在这里插入图片描述

4.v-bind绑定数组
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>v-bind实例</title>
		<script type="text/javascript" src="../assets/js/vue.js"></script>
	</head>
	<body>
		<div id="app">
		    <div :class="[classA,classB]">3.v-bind绑定数组</div>
         </div>
         <style>
			.boxA{
				color: red;
			}
			.boxB{
				font-size:30px;
			}
		</style>
         <script>
			var demo=new Vue({
				el:'#app',
				data:{
				    classA:'boxA',
					classB:'boxB',
					isOk:false
				}
			})
		</script>
	</body>
</html>

在这里插入图片描述

5.v-bind应用于三元运算
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>v-bind实例</title>
		<script type="text/javascript" src="../assets/js/vue.js"></script>
	</head>
	<body>
		<div id="app">
		   <div :class="isOk?classA:classB">4.v-bind使用三元运算</div>
         </div>
         <style>
			.boxA{
				color: red;
			}
			.boxB{
				font-size:30px;
			}
		</style>
         <script>
			var demo=new Vue({
				el:'#app',
				data:{
				    classA:'boxA',
					classB:'boxB',
					isOk:false
				}
			})
		</script>
	</body>
</html>

运行结果:
在这里插入图片描述

6.v-bind应用于style样式
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>v-bind实例</title>
		<script type="text/javascript" src="../assets/js/vue.js"></script>
	</head>
	<body>
		<div id="app">
		   <div :style="{color:red,fontSize:font}">5.v-bind绑定style</div>
         </div>
         <style>
			.boxA{
				color: red;
			}
			.boxB{
				font-size:30px;
			}
		</style>
         <script>
			var demo=new Vue({
				el:'#app',
				data:{
				    classA:'boxA',
					classB:'boxB',
					isOk:false,
					red:'red',
					font:'25px'
				}
			})
		</script>
	</body>
</html>

运行结果:
在这里插入图片描述

7.v-bind:用对象绑定style样式
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>v-bind实例</title>
		<script type="text/javascript" src="../assets/js/vue.js"></script>
	</head>
	<body>
		<div id="app">
		  <div :style="objectBind">6.v-bind用对象绑定style样式</div>
         </div>
         <style>
			.boxA{
				color: red;
			}
			.boxB{
				font-size:30px;
			}
		</style>
         <script>
			var demo=new Vue({
				el:'#app',
				data:{
				    classA:'boxA',
					classB:'boxB',
					isOk:false,
					red:'red',
					font:'25px',
					objectBind:{
						color:'blue',
						fontSize:'35px',
					}
				}
			})
		</script>
	</body>
</html>

运行结果:
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值