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 时,支持其它类型的值,如数组或对象。

绑定 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 绑定,以后再慢慢学习!

发布了6 篇原创文章 · 获赞 0 · 访问量 37

猜你喜欢

转载自blog.csdn.net/qq_43189389/article/details/105615988
今日推荐