在Vue中使用組件可以避免重復(fù)代碼,提高代碼的可重用性和維護(hù)性。Vue自帶了許多常用的組件,使用這些組件可以快速構(gòu)建出高質(zhì)量的Web應(yīng)用程序。下面將介紹Vue自帶的組件庫。
1. v-model
<input v-model="message">
v-model是Vue中常用的語法糖,用于雙向綁定數(shù)據(jù)。在上面的例子中,輸入框中的內(nèi)容會實時更新到data中的message屬性中,同時在data中的message屬性發(fā)生變化時,輸入框中的內(nèi)容也會隨之更新。v-model支持任何輸入框類型的組件,以及自定義組件。
2. v-if、v-else、v-show
<div v-if="isShow"> 這是條件渲染的內(nèi)容 </div> <div v-else> 這是條件渲染的內(nèi)容2 </div>
v-if、v-else和v-show都是用來進(jìn)行條件渲染的。v-if和v-else是基于表達(dá)式的,只有表達(dá)式計算為真時,才會渲染對應(yīng)的內(nèi)容,否則會渲染v-else的內(nèi)容或不渲染。v-show只是根據(jù)表達(dá)式的真假來決定是否顯示該元素,不會在DOM中添加或刪除元素。
3. v-for
<div v-for="item in items"> {{item}} </div>
使用v-for可以遍歷數(shù)組或?qū)ο螅秩径鄠€元素。上面的例子中,將遍歷數(shù)組items中的每一項,渲染出一個div標(biāo)簽,并將當(dāng)前項的值顯示出來。
4. v-on
<button v-on:click="handleClick">點(diǎn)擊</button>
v-on用于綁定事件。在上面的例子中,當(dāng)按鈕被點(diǎn)擊時,會觸發(fā)handleClick方法。
5. v-bind
<img v-bind:src="url">
v-bind用于動態(tài)綁定元素屬性。在上面的例子中,將動態(tài)綁定img標(biāo)簽的src屬性,值為data中的url屬性的值。
6. computed
computed: { fullName() { return this.firstName + ' ' + this.lastName } }
computed是Vue中的計算屬性,提供緩存和對屬性的依賴追蹤。在上面的例子中,當(dāng)firstName或lastName發(fā)生變化時,將重新計算fullName的值,并返回所需的值。
7. watch
watch: { message(newValue, oldValue) { console.log(newValue, oldValue) } }
watch用于監(jiān)聽數(shù)據(jù)變化并做出響應(yīng)。在上面的例子中,當(dāng)data中的message屬性發(fā)生變化時,將打印出新值和舊值。
除了上述幾個常用的組件外,Vue還自帶了許多其它的常用組件,例如組件生命周期鉤子、slot插槽、動畫等。熟練使用Vue自帶的組件可以為我們開發(fā)Web應(yīng)用程序節(jié)省大量的時間和精力。