小編給大家分享一下vue.js中v-bind有什么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)專注于企業(yè)成都全網(wǎng)營銷、網(wǎng)站重做改版、營口網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5技術(shù)、成都做商城網(wǎng)站、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為營口等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
vue.js中【v-bind】是用于綁定一個(gè)多多個(gè)屬性值,或者像一個(gè)組件創(chuàng)建props值,【v-bind】有一個(gè)對(duì)應(yīng)的語法糖,也就是簡(jiǎn)寫方式,利于語法簡(jiǎn)潔。
v-bind的介紹
前面我們學(xué)習(xí)的指令主要作用是將值插入到我們模板的內(nèi)容當(dāng)中。
但是,除了內(nèi)容需要?jiǎng)討B(tài)來決定外,某些屬性我們也希望動(dòng)態(tài)來綁定。
比如動(dòng)態(tài)綁定a元素的href屬性
比如動(dòng)態(tài)綁定img元素的src屬性
這個(gè)時(shí)候,我們可以使用v-bind指定:
作用:動(dòng)態(tài)綁定屬性
縮寫::
預(yù)期:any(with argument) | object (whitout argument)
參數(shù):attrOrProp(option)
v-bind基礎(chǔ)
v-bind用于綁定一個(gè)多多個(gè)屬性值,或者像一個(gè)組件創(chuàng)建props值(這個(gè)我們?cè)趯W(xué)到組件時(shí)再介紹)
在開發(fā)中,有哪些屬性需要進(jìn)行動(dòng)態(tài)綁定呢?
比如圖片的鏈接(src)、網(wǎng)站的鏈接(href)、動(dòng)態(tài)綁定一些類(class)、樣式(style)等等
比如通過Vue實(shí)例中的data綁定元素的src和href,代碼如下
<div id="app"> <a v-bind:href="link">Vuejs官網(wǎng)</a> <img v-bind:src="logoUrl" alt=""/> <!-- 當(dāng)然也可以通過語法糖“:”縮寫v-bind --> <!-- <img :src="logoUrl" alt=""/> --> </div> <script src="/vue.js"></script> <script> let app = new Vue({ el:"#app", data:{ logoUrl:"http://vuejs.org/images/logo.png", link:"https://vuejs.org" } }) </script>
v-bind語法糖
v-bind有一個(gè)對(duì)應(yīng)的語法糖,也就是簡(jiǎn)寫方式
在開發(fā)中,我們通常會(huì)使用語法糖的形式,因?yàn)檫@樣更加簡(jiǎn)潔。
簡(jiǎn)寫方式如下:
<div id="app"> <a :href="link">Vuejs官網(wǎng)</a> <img :src="logoUrl" alt=""/> </div>
v-bind 綁定class
很多時(shí)候,我們希望動(dòng)態(tài)的來切換class,比如:
當(dāng)數(shù)據(jù)為某個(gè)狀態(tài)時(shí),字體顯示紅色。
當(dāng)數(shù)據(jù)為另一個(gè)狀態(tài)時(shí),字體顯示黑色。
綁定class有兩種方式:
對(duì)象語法
數(shù)組語法
對(duì)象語法的含義是:class后面跟一個(gè)對(duì)象。
對(duì)象語法有下面這些用法:
用法一:直接通過{}綁定一個(gè)類 <h3 :class="{active:isActive}">Hello world</h3> 用法二:也可以通過判斷,傳入多個(gè)值 <h3 :class="{active:isActive,line:isLine}">Hello world</2> 用法三:和普通的類同時(shí)存在,并不沖突 注:如果isActive和IsLine都為true,那么會(huì)有title/active/line三個(gè)類 <h3 class="title" :class="{active:isActive,line:isLine}">Hello world</h3> 用法四:如果過于復(fù)雜,可以放在一個(gè)methods或者computed中 注:classes是一個(gè)計(jì)算屬性 <h3 class="title" :class="classes">Hello world</h3>
Demo:點(diǎn)擊按鈕切換字體顏色
... <style> .active{ color:red; } </style ... <div id="app"> <h2 v-bind:class="{active:isActive}">{{message}}</h2> <button v-on:click="buttonClick()">顏色切換</button> </div> <script> const vue = new Vue({ el: '#app', data: { message: 'hello world', isActive:true }, methods:{ buttonClick:function(){ this.isActive = !this.isActive; } } }) </script>
數(shù)組語法的含義是:class后跟的是一個(gè)數(shù)組。
數(shù)組語法有下面這些用法(數(shù)組語法一般用的比較少):
用法一:直接通過[]綁定一個(gè)類 <h3 :class="[active]">Hello world</h3> 用法二:也可以傳入多個(gè)值 <h3 :class="[active,line]">Hello world</2> 用法三:和普通的類同時(shí)存在,并不沖突 注:會(huì)有title/active/line三個(gè)類 <h3 class="title" :class="[active,line]">Hello world</h3> 用法四:如果過于復(fù)雜,可以放在一個(gè)methods或者computed中 注:classes是一個(gè)計(jì)算屬性 <h3 class="title" :class="classes">Hello world</h3>
Demo:
... <style> .active{ color: red; } .line{ font-size: 50px; } .common{ color:green; } </style> ... <div id="app"> <!-- 如果加了單引號(hào)用的就是style中的指定class,如果沒有單引號(hào)用的就是vue對(duì)象中的active變量 --> <!-- 注:這里,下面三個(gè)類將共存--> <h3 class="common" :class="['active',line]">Hello world</h3> </div> <script> const vue = new Vue({ el: '#app', data: { line:'line' } }) </script>
v-bind綁定style
我們可以利用v-bind:style來綁定一些CSS內(nèi)聯(lián)樣式
在寫CSS屬性名的時(shí)候,比如font-size
我們可以使用駝峰式(cameCase):fontSize
或短橫線分隔(kebab-case,記得用單引號(hào)括起來)'font-size'
綁定class有兩種方式:
對(duì)象語法
數(shù)組語法
對(duì)象語法的含義就是style后面跟的是一個(gè)對(duì)象類型
<!-- 對(duì)象key是CSS屬性名稱 --> <!-- 對(duì)象value是具體賦的值,值可以來自于data中的屬性 --> :style="{coloc:currentColor,fontsize:fontsize+'px'}"
數(shù)組語法的含義就是style后面跟的是一個(gè)數(shù)組類型
<!-- 多個(gè)值以,分割即可--> <div v-bind:style="[baseStyles,overridingStyles]"></div>
Demo:
<div id="app"> <!-- 通過對(duì)象綁定style行內(nèi)樣式,值如果為字符串,那么將直接顯示樣式值 --> <!-- <h2 :style="{color:'red'}">{{message}}</h2> --> <!-- 通過變量來綁定行內(nèi)樣式表 --> <!-- <h2 :style="{color:color}">{{message}}</h2> --> <!-- 通過方法來綁定樣式 --> <!-- <h2 :style="getStyle()">{{message}}</h2> --> <!-- 通過數(shù)組來綁定樣式 --> <h2 :style="[common,bgColor]">{{message}}</h2> </div> <script type="text/javascript"> const vue = new Vue({ el: "#app", data: { message: "hello world", color: 'red', common:{color:'blue',fontSize:'10px'}, bgColor:{backgroundColor:'black'} }, methods: { getStyle: function() { return { color: this.color }; } } }) </script>
以上是“vue.js中v-bind有什么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
新聞名稱:vue.js中v-bind有什么用
當(dāng)前網(wǎng)址:http://www.rwnh.cn/article4/jgpdoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計(jì)公司、網(wǎng)站設(shè)計(jì)、App設(shè)計(jì)、外貿(mào)建站、軟件開發(fā)、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)