這篇文章主要為大家展示了“Vue中數(shù)據(jù)綁定的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Vue中數(shù)據(jù)綁定的示例分析”這篇文章吧。

為什么綁定
簡單的數(shù)據(jù)渲染,包括表達式、函數(shù)在內(nèi)。其實都只是在標(biāo)簽中渲染,如果遇到以下情況怎么辦呢:
需要在標(biāo)簽內(nèi)部進行某種 "騷操作" 。
需要控制流來控制不同數(shù)據(jù)下的不同渲染效果。
需要渲染一個數(shù)組。
這時候簡單渲染就不能很好的解決問題了,怎么辦 ?
來一發(fā)數(shù)據(jù)綁定吧!
綁定是什么
在了解綁定是什么之前,先了解一下什么是指令:
在 " vue" 中,指令是帶有 v- 前綴的特殊屬性,用來修飾標(biāo)簽的(自定義組件在這里也統(tǒng)一歸為標(biāo)簽,因為其使用方式和原生標(biāo)簽一樣),其值的約束和模板語法一樣,支持表達式、變量。
指令會監(jiān)測其值的變化,并將其的變化反應(yīng)給所處的DOM
我們來看一下上一章最后的例子:
<h2>{{ if(msg == '1') return time }}</h2>在這里我們是想利用控制流來控制是否顯示時間,但是很遺憾,模板語法并不支持js語法。
但是 " vue" 中有這樣一個指令來彌補模板語法不支持 js語法的遺憾:
v-if
下面看看修改后的代碼:
<h2 v-if="msg=='1'">{{ formatTime(time) }}</h2>先將 msg的值賦值為1:

然后再修改一下 msg的值看看:

什么也沒有顯示,因為我們 msg的值并不是 1。
v-if 指令很完美的解決了我們最開始提出來的第二個問題:
需要控制流來控制不同數(shù)據(jù)下的不同渲染效果。
讓我們回到最開始的話題。
這就是指令,而在官方原生的指令中,有一個指令是專門用來綁定標(biāo)簽屬性的:
v-bind
命名很形象,bind 直譯就是綁定的意思。
如何綁定
這里利用 div標(biāo)簽展示一下 v-bind 的使用方式,用在其它標(biāo)簽上同理:
<div v-bind:屬性名="表達式"></div>
我們拿第一個問題舉例實踐一下:
需要在標(biāo)簽內(nèi)部進行某種 "騷操作"。
這里我們就根據(jù) isDark的值來確定時間顯示的背景色吧
當(dāng) isDark為 true 的時候,背景色變成黑色,文字變成白色。
當(dāng) isDark為 false的時候,背景色變成白色,文字變成黑色。
先來定義 isDark:
data() {
return {
msg: 'hello vue',
time: new Date(),
isDark: False
}
}然后添加一下兩種條件下的樣式:
<style>
.dark{
background-color: black;
color: white;
}
.light{
background-color: white;
color: black;
}
</style>接下來給 h2標(biāo)簽加上綁定指令:
<h2 v-bind:class="isDark ? 'dark' : 'light'">{{ formatTime(time) }}</h2>效果如下:

我們將 isDark 的值修改成 true:

很完美的達到了所需求的效果。
這就是指令的魅力。
最后一個問題
上述兩個指令解決了我們最初提出來三個問題中的兩個,那么剩下一個呢?
需要渲染一個數(shù)組。
當(dāng)我們需要渲染表格的時候就會遇到這個場景,如何去渲染一個數(shù)組呢?模板語法又并不支持這么復(fù)雜的操作。
請出本章最后一個指令:
v-for
嗯,還是很形象。js里面也有 for 嘛~
先看看它是做什么的:
v-for 會為數(shù)據(jù)源(綁定的列表)中的每一項,生成一個同類的標(biāo)簽。
然后看看怎么用,這里用 a 標(biāo)簽做說明,其他標(biāo)簽類似:
<!-- 寫法1 -->
<a v-for="別名 in 數(shù)據(jù)源" v-bind:key="唯一標(biāo)識">{{ 別名.字段 }}</a>
<!-- 寫法2 -->
<a v-for="(下標(biāo), 別名) in 數(shù)據(jù)源" v-bind:key="唯一標(biāo)識">{{ 別名.字段 }}</a>因為新版本的 vue要求使用 v-for指令渲染的標(biāo)簽必須綁定一個key用做唯一標(biāo)識,大多數(shù)情況下我們可以直接使用下標(biāo)來進行標(biāo)識
繼續(xù)使用我們之前的代碼進行演示,先定義一個 url的數(shù)組:
data() {
return {
msg: 'hello vue',
time: new Date(),
isDark: true,
urlList: [
{
text: '鏈接1',
url: '#1'
},
{
text: '鏈接2',
url: '#2'
},
{
text: '鏈接3',
url: '#3'
}
]
}
}然后渲染安排一波:
<a v-for="(item, index) in urlList" v-bind:key="index" v-bind:href="item.url" rel="external nofollow" >{{item.text}}</a>效果如下:

渲染的結(jié)果是三個 a 標(biāo)簽,非常正確~
很完美的解決了最后一個問題。
還有些什么指令呢?
官方還有其他的指令,這里再提一個:
v-on
v-on 指令可以綁定事件,比如說按鈕的點擊事件。
像上面切換背景的例子中,可以通過一個按鈕的點擊事件來修改 isDark的值,從而控制背景的改變。就不需要每次都手動來修改下 isDark的值了。
以上是“Vue中數(shù)據(jù)綁定的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司行業(yè)資訊頻道!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
名稱欄目:Vue中數(shù)據(jù)綁定的示例分析-創(chuàng)新互聯(lián)
路徑分享:http://chinadenli.net/article16/dooodg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、網(wǎng)站改版、網(wǎng)站營銷、電子商務(wù)、品牌網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容