vue基础之动态绑定属性v-bind指令

v-bind,

动态地绑定一个或多个 attribute,或一个组件 prop 到表达式。
	<div id="app">
	   <a href="http://www.baidu.com">百度一下</a>
	    <br>
	    //和上面a标签中的href属性赋值一样的效果
	    //v-bind:加属性名=“变量名”
	    <a v-bind:href="aHref">百度一下</a>
	  </div>
	  <script>
	  	const app = new Vue({
	  		el: '#app',
	  		data: {
	  			aHref: 'http://www.baidu.com'
	  		}
	  	})
	  </script>

v-bind由于开发经常使用,所以官方还有一种缩写方式:v-bind:属性 = :属性

	//v-bind缩写也能得到同样的效果
	<a v-bind:href="aHref">v-bind百度一下</a>
    <a :href="aHref">v-bind百度一下</a>
在绑定 class 或 style attribute 时,支持其它类型的值,如数组或对象。

对象值的示例:

<div :class="{ 类名 : 变量或值}">动态绑定属性--class类名--对象</div>
<div :style="{ 样式名: 变量或值 }">绑定style</div>

绑定 class

<div :class="{ active : isActive}">动态绑定属性--class类名</div>
<div :class="{ active : isActive, line: !isActive}">isActive为true,绑定active类名,line类名不绑定</div>
//直接绑定类名如果过长,也可放进函数methods里面,获取类名的对象,和上面是一样的结果。
<div :class="getClasss()">动态绑定属性--class类名</div>
<script>
  	const app = new Vue({
  		el: '#app',
  		data: {
  			isActive: true
  		},
  		methods: {
			getClasss: function () {
				return { active : this.isActive, line: !this.isActive};
			}
		}
  	})
  </script>

class类名除了可以动态绑定对象还能绑定数组:

//在属性中是数组的话,加上引号,就和class=“active line”一样的效果
<div :class="['active', 'line']">112233</div>
//如果不加上引号就是变量
<div :class="[active, line]">112233</div>
<div :class="getClasss()">动态绑定属性--放进函数方法获取class类名</div>
<script>
  	const app = new Vue({
  		el: '#app',
  		data: {
  			isActive: true,
  			active: 'active',
  			line: 'line'
  		},
  		methods: {
			getClasss: function () {
				return [ this.active , this.line ];
			}
		}
  	})
  </script>

绑定 style

<div :style="{ fontSize: size + 'px' }"></div>
<div :class="{ active : isActive, line: !isActive}">isActive为true,绑定active类名,line类名不绑定</div>
<script>
  	const app = new Vue({
  		el: '#app',
  		data: {
  			size : '18'
  		}
  	})
 </script>

当然还有组件的prop 绑定,以后再慢慢学习!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值