Vue指令語法

BLBALDMAN發表於2024-07-05

1、簡單介紹:

在Vue中,指令(Directives)是帶有v-字首的特殊屬性,用於操作DOM元素和響應資料變化。

2、語法規則

  • vue中的所有的指令都以v開始,同時是以html標籤的形式存在,如:<html標籤 v-指令名:引數="javascript表示式"></html> 。之前在{{}}插值語法中可以用的放到這裡也可以用
  • 有的指令不需要引數也不需要表示式,如v-once
  • 有些指令不需要引數但是需要表示式,如`v-if="表示式"
  • 有些指令既需要引數,也需要表示式,如v-bind:引數="表示式"

3、常見指令

v-once:

作用:只渲染元素一次。隨後的重新渲染,元素及其所有的子節點將被視為靜態內容並跳過。這可以用於最佳化更新效能。

v-if:

作用:表示式的執行結果需要是一個布林型別的資料:true或者fa1setrue:這個指令所在的標籤,會被渲染到瀏覽器當中。fa1se:這個指令所在的標籤,不會被渲染到覽器當中。

v-bind: 可以讓html標籤中的某個屬性產生動態效果

語法:<html標籤 v-bind:引數="表示式"></html標籤>
html頁面是無法識別v-bind的,只有透過vue進行轉換,才能識別。假設一個標籤編譯前的值為:<html標籤 v-bind:引數="表示式"></html>但是編譯後會變成:<html標籤 引數名="表示式結果"></html>
雖然原則上v-bind後面的引數可以隨便寫,但是隻有寫成html標籤中有的屬性才會生效。
v-bind:引數名="表示式"由於使用頻率極高所以可以簡寫為:引數名="表示式"
v-bind是單向繫結:也就是說資料發生變化,檢視也會發生變化,但是檢視發生變化,資料不會發生變化。

v-model:

v-model也是繫結資料的指令,和v-bind不同的是v-model是雙向資料繫結。
v-model更多的用於表單類html元素上,如<select> inputtextarea。因為這種元素才會提供互動介面。才可以讓使用者去改變檢視。
通常來說v-model是用在value屬性上,所以v-model也有簡寫方式:v-model="表示式"

相關文章