初识Vue(4)——v-bind详细

v-bind原由

网页中的属性并不是全部都是写死的,有时候需要动态获取来确定。比如一个网站首页用轮播图来展示,每隔一段时间会更换一组图片,如果是属性src是写死的,那么每次更换图片都需要去改源码就很麻烦。所以我们采用变量去代替固定属性值,只需要每次把图片放到数据库,变量指向数据库的图片就行了。v-bind就是解析这个变量的指令。

v-bind介绍

作用:动态绑定属性(比如动态绑定a元素的href属性;img元素的src属性等)
缩写(语法糖形式)::
预期:any(with arcgument任意参数)|Object(without arcgument对象)
参数:attrOrProp(optional)

基本使用

先把服务器请求来的数据放在data里面,然后用v-bind指令去读取data里面的数据。

<body>
<div id="app">
  //语法糖写法
  <img :src="imgURL" alt="">
  <a :href="aHref">百度一下</a>
</div>
<script src="../js/vue.js"></script>
<script>
  const app = new Vue({
    el: '#app',
    data: {
      imgURL: '图片地址',
      aHref: 'http://www.baidu.com'
    }
  })
</script>
</body>

v-bind绑定(对象语法和数组语法)

对于属性的绑定,有时候并不是单一的绑定一个属性,可能是多个属性同时有,网页在渲染的时候在由实际情况来决定渲染哪一个。比如这里我们给h2设置两个颜色不同的属性,分别为active和line,需要实现点击h2,切换绑定的属性到达点击切换颜色的目的。

对象语法:
  <style>
    .active {
      color: red;
    }
    .line {
        color: aqua;
    }
  </style>
<body>
<div id="app">
  <!--<h2 v-bind:class="{key1: value1, key2: value2}">{{message}}</h2>-->
  <h2 v-bind:class="{active: isActive, line: isLine}">{{message}}</h2>
  <button v-on:click="btnClick">按钮</button>
</div>

<script src="../js/vue.js"></script>
<script>
  const app = new Vue({
    el: '#app',
    data: {
      message: '你好啊',
      isActive: true,
      isLine: true
    },
    methods: {
      btnClick: function () {
        this.isActive = !this.isActive
      },
      getClasses: function () {
        return {active: this.isActive, line: this.isLine}
      }
    }
  })
</script>
</body>
数组语法:
<body>
<div id="app">
  <h2 class="title" :class="[active, line]">{{message}}
</div>

<script>
  const app = new Vue({
    el: '#app',
    data: {
      message: '你好啊',
      active: 'active',
      line: 'line'
    }
  })
</script>
</body>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值