Vue.js学习笔记:v-bind属性绑定(class,src)

    v-bing指令可以在其名称后面带一个参数,中间放一个冒号隔开,这个参数通常是HTML元素的特性(attribute),例如比较常用的是v-bind:class。

是主要用于属性绑定的,因为比较常用,所以有缩写的用法。

<!--完整的语法-->

<a v-bind:href="url"></a>

<!--缩写的语法-->

<a :href="url"></a>

    一.绑定HTML Class

          首先,我们可以来看看,给一个元素绑定一个v-bind:class对象,用来动态切换class.相当于是jQuery中的toggle()方法,或者是addClass(),removeClass()方法。





    
    
Vue.js
<script src="https://unpkg.com/vue/dist/vue.js"></script>





    
    

{{text}}

<script> new Vue({ el:'#app', data:{ isRed:false, isGreen:true, text:'this is a green text' } }) </script>
很明显,运行的结果是p元素的背景颜色是green。

当isRed和isGreen变化的时候,class列表也相应地进行更新。如果将isRed改为true,isGreen改为false的话,那么p元素的背景颜色就会变为红色。

而且当:class=的值是使用"{  }"来括起的形式,就说明这个是一个对象,里面是有boolean值的运算的。

如果值是一个数组的话,那会是什么情况呢?





    
    
Vue.js
<script src="https://unpkg.com/vue/dist/vue.js"></script>





    
    

{{text}}

<script> new Vue({ el:'#app', data:{ classA:'red', classB:'yellow', text:'this is a red text' } }) </script>

运行的结果是一段背景颜色为红色为文本。

而:class=的值是一个以数组的形式括起来的,里面保存的是字符串的形式

    二.绑定HTML src

我们可以使用:src来动态绑定数据,例如 <img :src="url" alt="图片"/>

script代码:

new Vue({
    el:'#app',
    data:{
       url:'1.png'
    }
    })




Vue中,v-bind是一种指令,用于动态地绑定属性值到HTML元素上。通过v-bind,可以将vue实例的数据绑定到HTML元素的属性上,从而实现数据与视图的双向绑定。 在没有参数时,v-bind可以绑定到一个对象。注意,此时class和style绑定不支持数组和对象。例如,可以通过v-bind绑定一个对象来设置元素的id和其他属性,代码示例如下: <body id="example"> <div v-bind="{id: someProp,'OTHERAttr': otherProp }"></div> </body> <script> var exampleVM2 = new Vue({ el: '#example', data:{ someProp:'idName', otherProp: 'prop' } }) </script> 在绑定class或style时,v-bind支持其他类型的值,如数组或者对象。例如,可以通过v-bind绑定一个数组和对象来动态设置元素的class,代码示例如下: <body id="example"> <div :class="[classA, {classB: isB, classC: isC}]"></div> </body> <script> var demo = new Vue({ el: '#example', data:{ classA: 'A', isB: false, isC: true } }) </script> 除了绑定属性,v-bind还可以绑定动态的id值。例如,可以通过v-bind绑定一个动态的id值,代码示例如下: <div v-bind:id="dynamicId">本div的id是vue决定的哈哈</div> 通过v-bind,可以在vue实例中动态地设置元素的id,实现更灵活的数据绑定。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【VueVue中v-bind的使用](https://blog.csdn.net/weixin_34727238/article/details/106949433)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值