Skip to content
āĻāχ āĻĒ⧃āĻˇā§āĻ āĻžāϝāĻŧ

Template Syntax ​

Vue āĻāĻ•āϟāĻŋ HTML-āĻ­āĻŋāĻ¤ā§āϤāĻŋāĻ• āĻŸā§‡āĻŽāĻĒā§āϞ⧇āϟ āϏāĻŋāύāĻŸā§āϝāĻžāĻ•ā§āϏ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āϝāĻž āφāĻĒāύāĻžāϕ⧇ āϰ⧇āĻ¨ā§āĻĄāĻžāϰ āĻ•āϰāĻž DOM-āϕ⧇ āĻ…āĻ¨ā§āϤāĻ°ā§āύāĻŋāĻšāĻŋāϤ āωāĻĒāĻžāĻĻāĻžāύ⧇āϰ āχāύāĻ¸ā§āĻŸā§āϝāĻžāĻ¨ā§āϏ⧇āϰ āĻĄā§‡āϟāĻžāϰ āϏāĻžāĻĨ⧇ āĻ˜ā§‹āώāĻŖāĻžāĻŽā§‚āϞāĻ•āĻ­āĻžāĻŦ⧇ āφāĻŦāĻĻā§āϧ āĻ•āϰāϤ⧇ āĻĻ⧇āϝāĻŧāĨ¤ āϏāĻŽāĻ¸ā§āϤ Vue āĻŸā§‡āĻŽāĻĒā§āϞ⧇āϟ āϏāĻŋāύāĻŸā§āϝāĻžāĻ•ā§āϏāĻ—āϤāĻ­āĻžāĻŦ⧇ āĻŦ⧈āϧ HTML āϝāĻž āĻ¸ā§āĻĒ⧇āĻ•-āϏāĻŽā§āĻŽāϤ āĻŦā§āϰāĻžāωāϜāĻžāϰ āĻāĻŦāĻ‚ HTML āĻĒāĻžāĻ°ā§āϏāĻžāϰ āĻĻā§āĻŦāĻžāϰāĻž āĻĒāĻžāĻ°ā§āϏ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āĻšā§āĻĄā§‡āϰ āύāĻŋāĻšā§‡, Vue āĻŸā§‡āĻŽāĻĒā§āϞ⧇āϟāϗ⧁āϞāĻŋāϕ⧇ āωāĻšā§āϚ-āĻ…āĻĒā§āϟāĻŋāĻŽāĻžāχāϜ āĻ•āϰāĻž āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āϕ⧋āĻĄā§‡ āĻ•āĻŽā§āĻĒāĻžāχāϞ āĻ•āϰ⧇āĨ¤ āϰāĻŋāĻ…ā§āϝāĻžāĻ•āϟāĻŋāĻ­āĻŋāϟāĻŋ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āϰ āϏāĻžāĻĨ⧇ āĻāĻ•āĻ¤ā§āϰāĻŋāϤ āĻšāϝāĻŧ⧇, Vue āĻŦ⧁āĻĻā§āϧāĻŋāĻŽāĻ¤ā§āϤāĻžāϰ āϏāĻžāĻĨ⧇ āĻĒ⧁āύāϰāĻžāϝāĻŧ āϰ⧇āĻ¨ā§āĻĄāĻžāϰ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻ¨ā§āϝ⧂āύāϤāĻŽ āϏāĻ‚āĻ–ā§āϝāĻ• āĻ•āĻŽā§āĻĒā§‹āύ⧇āĻ¨ā§āϟ āĻŦ⧇āϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇ āĻāĻŦāĻ‚ āĻ…ā§āϝāĻžāĻĒ⧇āϰ āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻšāϞ⧇ āĻ¨ā§āϝ⧂āύāϤāĻŽ āĻĒāϰāĻŋāĻŽāĻžāĻŖ DOM āĻŽā§āϝāĻžāύāĻŋāĻĒ⧁āϞ⧇āĻļāύ āĻĒā§āϰāϝāĻŧā§‹āĻ— āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āφāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻ­āĻžāĻ°ā§āϚ⧁āϝāĻŧāĻžāϞ DOM āϧāĻžāϰāĻŖāĻžāϰ āϏāĻžāĻĨ⧇ āĻĒāϰāĻŋāϚāĻŋāϤ āĻšāύ āĻāĻŦāĻ‚ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āĻŸā§‡āϰ raw āĻļāĻ•ā§āϤāĻŋ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āϰ⧇āύ āϤāĻŦ⧇ āφāĻĒāύāĻŋ āϐāĻšā§āĻ›āĻŋāĻ• JSX āϏāĻŽāĻ°ā§āĻĨāύ āϏāĻš āĻŸā§‡āĻŽāĻĒā§āϞ⧇āĻŸā§‡āϰ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤ⧇ āϏāϰāĻžāϏāϰāĻŋ āϰ⧇āĻ¨ā§āĻĄāĻžāϰ āĻĢāĻžāĻ‚āĻļāύ āϞāĻŋāĻ–āϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤ āϝāĻžāχāĻšā§‹āĻ•, āĻŽāύ⧇ āϰāĻžāĻ–āĻŦ⧇āύ āϝ⧇ āϤāĻžāϰāĻž āĻŸā§‡āĻŽāĻĒā§āϞ⧇āĻŸā§‡āϰ āĻŽāϤ⧋ āĻāĻ•āχ āĻ¸ā§āϤāϰ⧇āϰ āĻ•āĻŽā§āĻĒāĻžāχāϞ-āϟāĻžāχāĻŽ āĻ…āĻĒā§āϟāĻŋāĻŽāĻžāχāĻœā§‡āĻļāύ āωāĻĒāĻ­ā§‹āĻ— āĻ•āϰ⧇ āύāĻžāĨ¤

Text Interpolation ​

āĻĄāĻžāϟāĻž āĻŦāĻžāχāĻ¨ā§āĻĄāĻŋāĻ‚ āĻāϰ āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āĻŽā§ŒāϞāĻŋāĻ• āĻĢāĻ°ā§āĻŽ āĻšāϞ "Mustache" āϏāĻŋāύāĻŸā§āϝāĻžāĻ•ā§āϏ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻŸā§‡āĻ•ā§āϏāϟ āχāĻ¨ā§āϟāĻžāϰāĻĒā§‹āϞ⧇āĻļāύ (āĻĄāĻžāĻŦāϞ āϕ⧋āρāĻ•āĻĄāĻŧāĻž āĻŦāĻ¨ā§āϧāύ⧀):

template
<span>Message: {{ msg }}</span>

mustaches āĻŸā§āϝāĻžāĻ—āϟāĻŋ msg āĻĒā§āϰāĻĒāĻžāĻ°ā§āϟāĻŋāϰ āĻŽāĻžāύ āĻĻāĻŋāϝāĻŧ⧇ āĻĒā§āϰāϤāĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻŋāϤ āĻšāĻŦ⧇ āϏāĻ‚āĻļā§āϞāĻŋāĻˇā§āϟ āĻ•āĻŽā§āĻĒā§‹āύ⧇āĻ¨ā§āϟ āχāĻ¨ā§āϏāĻŸā§āϝāĻžāĻ¨ā§āϏ āĻĨ⧇āϕ⧇āĨ¤ āĻāϟāĻŋ āφāĻĒāĻĄā§‡āϟ āĻ•āϰāĻž āĻšāĻŦ⧇ āϝāĻ–āύāχ msg āĻĒā§āϰāĻĒāĻžāĻ°ā§āϟāĻŋ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻšāĻŦ⧇āĨ¤

Raw HTML ​

āĻĄāĻžāĻŦāϞ mustaches āĻĄā§‡āϟāĻžāϕ⧇ āĻĒā§āϞ⧇āχāύ āĻŸā§‡āĻ•ā§āϏāϟ āĻšāĻŋāϏāĻžāĻŦ⧇ āĻŦā§āϝāĻžāĻ–ā§āϝāĻž āĻ•āϰ⧇, HTML āύāϝāĻŧāĨ¤ āφāϏāϞ HTML āφāωāϟāĻĒ⧁āϟ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ, āφāĻĒāύāĻžāϕ⧇ v-html āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻŋāĻ•āĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇:

template
<p>Using text interpolation: {{ rawHtml }}</p>
<p>Using v-html directive: <span v-html="rawHtml"></span></p>

Using text interpolation: <span style="color: red">This should be red.</span>

Using v-html directive: This should be red.

āĻāĻ–āĻžāύ⧇ āφāĻŽāϰāĻž āύāϤ⧁āύ āĻ•āĻŋāϛ⧁ āϏāĻŽā§āĻŽā§āĻ–ā§€āύ āĻ•āϰāĻ›āĻŋ. āφāĻĒāύāĻŋ āϝ⧇ v-html āĻ…ā§āϝāĻžāĻŸā§āϰāĻŋāĻŦāĻŋāωāϟāϟāĻŋ āĻĻ⧇āĻ–āϛ⧇āύ āϤāĻžāϕ⧇ āύāĻŋāĻ°ā§āĻĻ⧇āĻļ āĻŦāϞāĻž āĻšāϝāĻŧāĨ¤ āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻŋāĻ•āĻžāϗ⧁āϞāĻŋāϕ⧇ v- āĻāϰ āϏāĻžāĻĨ⧇ āĻĒā§āϰāĻŋāĻĢāĻŋāĻ•ā§āϏāϝ⧁āĻ•ā§āϤ āĻ•āϰāĻž āĻšāϝāĻŧ āϤāĻž āύāĻŋāĻ°ā§āĻĻ⧇āĻļ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āϝ⧇ āϏ⧇āϗ⧁āϞāĻŋ Vue āĻĻā§āĻŦāĻžāϰāĻž āĻĒā§āϰāĻĻāĻ¤ā§āϤ āĻŦāĻŋāĻļ⧇āώ āϗ⧁āĻŖāĻžāĻŦāϞ⧀, āĻāĻŦāĻ‚ āφāĻĒāύāĻŋ āϝ⧇āĻŽāύ āĻ…āύ⧁āĻŽāĻžāύ āĻ•āϰ⧇āϛ⧇āύ, āϏ⧇āϗ⧁āϞāĻŋ āϰ⧇āĻ¨ā§āĻĄāĻžāϰ āĻ•āϰāĻž DOM-āĻ āĻŦāĻŋāĻļ⧇āώ āĻĒā§āϰāϤāĻŋāĻ•ā§āϰāĻŋāϝāĻŧāĻžāĻļā§€āϞ āφāϚāϰāĻŖ āĻĒā§āϰāϝāĻŧā§‹āĻ— āĻ•āϰ⧇⧎ āĻāĻ–āĻžāύ⧇, āφāĻŽāϰāĻž āĻŽā§‚āϞāϤ āĻŦāϞāĻ›āĻŋ "āĻŦāĻ°ā§āϤāĻŽāĻžāύ āϏāĻ•ā§āϰāĻŋāϝāĻŧ āωāĻĻāĻžāĻšāϰāϪ⧇ rawHtml āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ⧇āϰ āϏāĻžāĻĨ⧇ āĻāχ āĻ•āĻŽā§āĻĒā§‹āύ⧇āĻ¨ā§āϟāϟāĻŋāϰ āĻ…āĻ­ā§āϝāĻ¨ā§āϤāϰ⧀āĻŖ HTML āφāĻĒ-āϟ⧁-āĻĄā§‡āϟ āϰāĻžāϖ⧁āύāĨ¤"

span āĻāϰ āĻŦāĻŋāώāϝāĻŧāĻ…āĻŦāĻœā§‡āĻ•ā§āϟ rawHtml āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ⧇āϰ āĻŽāĻžāύ āĻĻāĻŋāϝāĻŧ⧇ āĻĒā§āϰāϤāĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻŋāϤ āĻšāĻŦ⧇, āϝāĻžāϕ⧇ āϏāĻžāϧāĻžāϰāĻŖ HTML āĻšāĻŋāϏāĻžāĻŦ⧇ āĻŦā§āϝāĻžāĻ–ā§āϝāĻž āĻ•āϰāĻž āĻšāĻŦ⧇ - āĻĄā§‡āϟāĻž āĻŦāĻžāχāĻ¨ā§āĻĄāĻŋāĻ‚ āωāĻĒ⧇āĻ•ā§āώāĻž āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤ āĻŽāύ⧇ āϰāĻžāĻ–āĻŦ⧇āύ āϝ⧇ āφāĻĒāύāĻŋ āĻŸā§‡āĻŽāĻĒā§āϞ⧇āϟ āφāĻ‚āĻļāĻŋāĻ• āϰāϚāύāĻž āĻ•āϰāϤ⧇ v-html āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŦ⧇āύ āύāĻž, āĻ•āĻžāϰāĻŖ Vue āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚-āĻ­āĻŋāĻ¤ā§āϤāĻŋāĻ• āĻŸā§‡āĻŽāĻĒā§āϞ⧇āϟāĻŋāĻ‚ āχāĻžā§āϜāĻŋāύ āύāϝāĻŧāĨ¤ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤ⧇, āĻ•āĻŽā§āĻĒā§‹āύ⧇āĻ¨ā§āϟāϗ⧁āϞāĻŋāϕ⧇ UI āĻĒ⧁āύāσāĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāĻŦāĻ‚ āϰāϚāύāĻžāϰ āϜāĻ¨ā§āϝ āĻŽā§ŒāϞāĻŋāĻ• āĻāĻ•āĻ• āĻšāĻŋāϏāĻžāĻŦ⧇ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤

āύāĻŋāϰāĻžāĻĒāĻ¤ā§āϤāĻž āϏāϤāĻ°ā§āĻ•āϤāĻž

āĻ—āϤāĻŋāĻļā§€āϞāĻ­āĻžāĻŦ⧇ āφāĻĒāύāĻžāϰ āĻ“āϝāĻŧ⧇āĻŦāϏāĻžāχāĻŸā§‡ āύāĻŋāĻ°ā§āĻŦāĻŋāϚāĻžāϰ⧇ HTML āϰ⧇āĻ¨ā§āĻĄāĻžāϰ āĻ•āϰāĻž āϖ⧁āĻŦ āĻŦāĻŋāĻĒāĻœā§āϜāύāĻ• āĻšāϤ⧇ āĻĒāĻžāϰ⧇ āĻ•āĻžāϰāĻŖ āĻāϟāĻŋ āϏāĻšāĻœā§‡āχ XSS āĻĻ⧁āĻ°ā§āĻŦāϞāϤāĻž āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻŦāĻŋāĻļā§āĻŦāĻ¸ā§āϤ āĻ•āĻ¨ā§āĻŸā§‡āĻ¨ā§āĻŸā§‡ v-html āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āĻĻ⧇āĻ“āϝāĻŧāĻž āĻ•āĻ¨ā§āĻŸā§‡āĻ¨ā§āĻŸā§‡ āĻ•āĻ–āύāχ āύāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤

Attribute Bindings ​

HTML āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ⧇āϰ āĻŽāĻ§ā§āϝ⧇ Mustaches āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āϝāĻžāĻŦ⧇ āύāĻžāĨ¤ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤ⧇, āĻāĻ•āϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ v-bind directive:

template
<div v-bind:id="dynamicId"></div>

v-bind āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻŋāĻ•āĻž Vue-āϕ⧇ āĻ•āĻŽā§āĻĒā§‹āύ⧇āĻ¨ā§āĻŸā§‡āϰ id āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝāϕ⧇ āĻ•āĻŽā§āĻĒā§‹āύ⧇āĻ¨ā§āĻŸā§‡āϰ dynamicId āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ⧇āϰ āϏāĻžāĻĨ⧇ āϏāĻŋāĻ™ā§āϕ⧇ āϰāĻžāĻ–āĻžāϰ āύāĻŋāĻ°ā§āĻĻ⧇āĻļ āĻĻ⧇āϝāĻŧāĨ¤ āϝāĻĻāĻŋ āφāĻŦāĻĻā§āϧ āĻŽāĻžāύ null āĻŦāĻž undefined āĻšāϝāĻŧ, āϤāĻžāĻšāϞ⧇ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝāϟāĻŋ āϰ⧇āĻ¨ā§āĻĄāĻžāϰ āĻ•āϰāĻž āĻ•āĻŽā§āĻĒā§‹āύ⧇āĻ¨ā§āϟ āĻĨ⧇āϕ⧇ āϏāϰāĻžāύ⧋ āĻšāĻŦ⧇āĨ¤

Shorthand ​

āĻ•āĻžāϰāĻŖ v-bind āϖ⧁āĻŦ āϏāĻžāϧāĻžāϰāĻŖāĻ­āĻžāĻŦ⧇ āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻšāϝāĻŧ, āĻāϤ⧇ āĻāĻ•āϟāĻŋ āĻĄā§‡āĻĄāĻŋāϕ⧇āĻŸā§‡āĻĄ āĻļāĻ°ā§āϟāĻšā§āϝāĻžāĻ¨ā§āĻĄ āϏāĻŋāύāĻŸā§āϝāĻžāĻ•ā§āϏ āϰāϝāĻŧ⧇āϛ⧇:

template
<div :id="dynamicId"></div>

āϝ⧇ āĻ…ā§āϝāĻžāĻŸā§āϰāĻŋāĻŦāĻŋāωāϟāϗ⧁āϞāĻŋ : āĻĻāĻŋāϝāĻŧ⧇ āĻļ⧁āϰ⧁ āĻšāϝāĻŧ āϤāĻž āϏāĻžāϧāĻžāϰāĻŖ HTML āĻĨ⧇āϕ⧇ āĻ•āĻŋāϛ⧁āϟāĻž āφāϞāĻžāĻĻāĻž āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāϰ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻāϟāĻŋ āφāϏāϞ⧇ āĻ…ā§āϝāĻžāĻŸā§āϰāĻŋāĻŦāĻŋāωāϟ āύāĻžāĻŽā§‡āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻŦ⧈āϧ āĻ…āĻ•ā§āώāϰ āĻāĻŦāĻ‚ āϏāĻŽāĻ¸ā§āϤ Vue-āϏāĻŽāĻ°ā§āĻĨāĻŋāϤ āĻŦā§āϰāĻžāωāϜāĻžāϰ āĻāϟāĻŋāϕ⧇ āϏāĻ āĻŋāĻ•āĻ­āĻžāĻŦ⧇ āĻĒāĻžāĻ°ā§āϏ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āωāĻĒāϰāĻ¨ā§āϤ⧁, āϤāĻžāϰāĻž āĻšā§‚āĻĄāĻŧāĻžāĻ¨ā§āϤ āϰ⧇āĻ¨ā§āĻĄāĻžāϰ āĻ•āϰāĻž āĻŽāĻžāĻ°ā§āĻ•āφāĻĒ⧇ āωāĻĒāĻ¸ā§āĻĨāĻŋāϤ āĻšāϝāĻŧ āύāĻžāĨ¤ āĻļāĻ°ā§āϟāĻšā§āϝāĻžāĻ¨ā§āĻĄ āϏāĻŋāύāĻŸā§āϝāĻžāĻ•ā§āϏ āϐāĻšā§āĻ›āĻŋāĻ•, āĻ•āĻŋāĻ¨ā§āϤ⧁ āφāĻĒāύāĻŋ āϏāĻŽā§āĻ­āĻŦāϤ āĻāϟāĻŋāϰ āĻĒā§āϰāĻļāĻ‚āϏāĻž āĻ•āϰāĻŦ⧇āύ āϝāĻ–āύ āφāĻĒāύāĻŋ āĻĒāϰ⧇ āĻāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āφāϰāĻ“ āϜāĻžāύāĻŦ⧇āύāĨ¤

āĻ—āĻžāχāĻĄā§‡āϰ āĻŦāĻžāĻ•āĻŋ āĻ…āĻ‚āĻļ⧇āϰ āϜāĻ¨ā§āϝ, āφāĻŽāϰāĻž āϕ⧋āĻĄ āωāĻĻāĻžāĻšāϰāϪ⧇ āĻļāĻ°ā§āϟāĻšā§āϝāĻžāĻ¨ā§āĻĄ āϏāĻŋāύāĻŸā§āϝāĻžāĻ•ā§āϏ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻŦ, āĻ•āĻžāϰāĻŖ āĻāϟāĻŋ Vue āĻĄā§‡āϭ⧇āϞāĻĒāĻŽā§‡āĻ¨ā§āϟāĻ•āĻžāϰ⧀āĻĻ⧇āϰ āϜāĻ¨ā§āϝ āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āϏāĻžāϧāĻžāϰāĻŖ āĻŦā§āϝāĻŦāĻšāĻžāϰāĨ¤

Same-name Shorthand ​

  • āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ 3.4+ āĻ āϏāĻŽāĻ°ā§āĻĨāĻŋāϤ

āϝāĻĻāĻŋ āĻ…ā§āϝāĻžāĻŸā§āϰāĻŋāĻŦāĻŋāωāĻŸā§‡āϰ āύāĻžāĻŽ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āĻ­ā§āϝāĻžāϞ⧁āϰ āϭ⧇āϰāĻŋāϝāĻŧ⧇āĻŦāϞ āύāĻžāĻŽā§‡āϰ āϏāĻžāĻĨ⧇ āĻāĻ•āχ āĻšāϝāĻŧ, āϤāĻžāĻšāϞ⧇ āϏāĻŋāύāĻŸā§āϝāĻžāĻ•ā§āϏāϕ⧇ āφāϰāĻ“ āϛ⧋āϟ āĻ•āϰ⧇ āĻ…ā§āϝāĻžāĻŸā§āϰāĻŋāĻŦāĻŋāωāϟ āĻ­ā§āϝāĻžāϞ⧁ āĻŦāĻžāĻĻ āĻĻ⧇āĻ“ā§ŸāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇:

template
<!-- same as :id="id" -->
<div :id></div>

<!-- this also works -->
<div v-bind:id></div>

āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āĻŸā§‡ āĻ…āĻŦāĻœā§‡āĻ•ā§āϟ āĻ˜ā§‹āώāĻŖāĻž āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻāϟāĻŋ āĻĒā§āϰāĻĒāĻžāĻ°ā§āϟāĻŋ āĻļāĻ°ā§āϟāĻšā§āϝāĻžāĻ¨ā§āĻĄ āϏāĻŋāύāĻŸā§āϝāĻžāĻ•ā§āϏ⧇āϰ āĻ…āύ⧁āϰ⧂āĻĒāĨ¤ āĻŽāύ⧇ āϰāĻžāĻ–āĻŦ⧇āύ āĻāϟāĻŋ āĻāĻŽāύ āĻāĻ•āϟāĻŋ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ āϝāĻž āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ Vue 3.4 āĻāĻŦāĻ‚ āϤāĻžāϰ āωāĻĒāϰ⧇ āωāĻĒāϞāĻŦā§āϧāĨ¤

Boolean Attributes ​

Boolean attributes āĻāĻŽāύ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ āϝāĻž āĻāĻ•āϟāĻŋ āĻ•āĻŽā§āĻĒā§‹āύ⧇āĻ¨ā§āĻŸā§‡ āϤāĻžāĻĻ⧇āϰ āωāĻĒāĻ¸ā§āĻĨāĻŋāϤāĻŋ āĻĻā§āĻŦāĻžāϰāĻž āϏāĻ¤ā§āϝ / āĻŽāĻŋāĻĨā§āϝāĻž āĻŽāĻžāύ āύāĻŋāĻ°ā§āĻĻ⧇āĻļ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āωāĻĻāĻžāĻšāϰāĻŖ āĻ¸ā§āĻŦāϰ⧂āĻĒ, disabled āϏāĻ°ā§āĻŦāĻžāϧāĻŋāĻ• āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻŦ⧁āϞāĻŋāϝāĻŧāĻžāύ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝāϗ⧁āϞāĻŋāϰ āĻŽāĻ§ā§āϝ⧇ āĻāĻ•āϟāĻŋāĨ¤

v-bind āĻāχ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āĻāĻ•āϟ⧁ āĻ­āĻŋāĻ¨ā§āύāĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇:

template
<button :disabled="isButtonDisabled">Button</button>

āϝāĻĻāĻŋ isButtonDisabled āĻāϰ āĻāĻ•āϟāĻŋ truthy value āĻĨāĻžāϕ⧇ āϤāĻžāĻšāϞ⧇ disabled āĻ…ā§āϝāĻžāĻŸā§āϰāĻŋāĻŦāĻŋāωāϟ āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤ āĻ•āϰāĻž āĻšāĻŦ⧇āĨ¤ āĻŽāĻžāύāϟāĻŋ āĻ–āĻžāϞāĻŋ āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚ āĻšāϞ⧇, <button disabled="">-āĻāϰ āϏāĻžāĻĨ⧇ āϏāĻžāĻŽāĻžā§āϜāĻ¸ā§āϝ āĻŦāϜāĻžāϝāĻŧ āϰ⧇āϖ⧇ āĻāϟāĻŋāĻ“ āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤ āĻ•āϰāĻž āĻšāĻŦ⧇āĨ¤ āĻ…āĻ¨ā§āϝāĻžāĻ¨ā§āϝ falsy values āĻāϰ āϜāĻ¨ā§āϝ āĻāĻŸā§āϰāĻŋāĻŦāĻŋāωāϟāϟāĻŋ āĻŦāĻžāĻĻ āĻĻ⧇āĻ“āϝāĻŧāĻž āĻšāĻŦ⧇āĨ¤

Dynamically Binding Multiple Attributes ​

āφāĻĒāύāĻžāϰ āϝāĻĻāĻŋ āĻāĻŽāύ āĻāĻ•āϟāĻŋ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āĻ…āĻŦāĻœā§‡āĻ•ā§āϟ āĻĨāĻžāϕ⧇ āϝāĻž āĻāχāϰāĻ•āĻŽ āĻĻ⧇āĻ–āĻžāϝāĻŧ āĻāĻŽāύ āĻāĻ•āĻžāϧāĻŋāĻ• āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ āωāĻĒāĻ¸ā§āĻĨāĻžāĻĒāύ āĻ•āϰ⧇:

js
const objectOfAttrs = {
  id: 'container',
  class: 'wrapper',
  style: 'background-color:green'
}
js
data() {
  return {
    objectOfAttrs: {
      id: 'container',
      class: 'wrapper'
    }
  }
}

āφāĻĒāύāĻŋ āĻāĻ•āϟāĻŋ āϝ⧁āĻ•ā§āϤāĻŋ āĻ›āĻžāĻĄāĻŧāĻžāχ v-bind āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻāĻ•āϟāĻŋ āĻāĻ•āĻ• āĻ•āĻŽā§āĻĒā§‹āύ⧇āĻ¨ā§āĻŸā§‡āϰ āϏāĻžāĻĨ⧇ āφāĻŦāĻĻā§āϧ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ:

template
<div v-bind="objectOfAttrs"></div>

Using JavaScript Expressions ​

āĻāĻ–āύ āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āφāĻŽāϰāĻž āφāĻŽāĻžāĻĻ⧇āϰ āĻŸā§‡āĻŽāĻĒā§āϞ⧇āϟāϗ⧁āϞāĻŋāϤ⧇ āϕ⧇āĻŦāϞāĻŽāĻžāĻ¤ā§āϰ āϏāĻžāϧāĻžāϰāĻŖ āĻ•āĻŽā§āĻĒāĻŋāωāĻŸā§‡āĻĄ āĻĒā§āϰāĻĒāĻžāĻ°ā§āϟāĻŋ āϕ⧀āϗ⧁āϞāĻŋāϰ āϏāĻžāĻĨ⧇ āφāĻŦāĻĻā§āϧ āĻšāϝāĻŧ⧇āĻ›āĻŋāĨ¤ āĻ•āĻŋāĻ¨ā§āϤ⧁ Vue āφāϏāϞ⧇ āϏāĻŽāĻ¸ā§āϤ āĻĄā§‡āϟāĻž āĻŦāĻžāχāĻ¨ā§āĻĄāĻŋāĻ‚āϝāĻŧ⧇āϰ āĻ­āĻŋāϤāϰ⧇ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āĻāĻ•ā§āϏāĻĒā§āϰ⧇āĻļāύ⧇āϰ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻļāĻ•ā§āϤāĻŋ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰ⧇:

template
{{ number + 1 }}

{{ ok ? 'YES' : 'NO' }}

{{ message.split('').reverse().join('') }}

<div :id="`list-${id}`"></div>

āĻŦāĻ°ā§āϤāĻŽāĻžāύ āĻ•āĻŽā§āĻĒā§‹āύ⧇āĻ¨ā§āϟ āχāύāĻ¸ā§āĻŸā§āϝāĻžāĻ¨ā§āϏ⧇āϰ āĻĄā§‡āϟāĻž āĻ¸ā§āϕ⧋āĻĒ⧇ āĻāχ āĻāĻ•ā§āϏāĻĒā§āϰ⧇āĻļāύāϗ⧁āϞāĻŋāϕ⧇ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āĻšāĻŋāϏāĻžāĻŦ⧇ āĻŽā§‚āĻ˛ā§āϝāĻžāϝāĻŧāύ āĻ•āϰāĻž āĻšāĻŦ⧇āĨ¤

Vue āĻŸā§‡āĻŽāĻĒā§āϞ⧇āϟāϗ⧁āϞāĻŋāϤ⧇, JavaScript āĻāĻ•ā§āϏāĻĒā§āϰ⧇āĻļāύāϗ⧁āϞāĻŋ āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāύāϗ⧁āϞāĻŋāϤ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇:

  • āĻ­āĻŋāϤāϰ⧇ āĻŸā§‡āĻ•ā§āϏāϟ āχāĻ¨ā§āϟāĻžāϰāĻĒā§‹āϞ⧇āĻļāύ (mustaches)
  • āϝ⧇āϕ⧋āύ Vue āύāĻŋāĻ°ā§āĻĻ⧇āĻļ⧇āϰ āĻ…ā§āϝāĻžāĻŸā§āϰāĻŋāĻŦāĻŋāωāϟ āĻŽāĻžāύ⧇āϰ āĻŽāĻ§ā§āϝ⧇ (āĻŦāĻŋāĻļ⧇āώ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ āϝāĻž v- āĻĻāĻŋāϝāĻŧ⧇ āĻļ⧁āϰ⧁ āĻšāϝāĻŧ)

Expressions Only ​

āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻŦāĻžāρāϧāĻžāχāϤ⧇ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻāĻ•āϟāĻŋ āĻāĻ•āĻ• āĻ…āĻ­āĻŋāĻŦā§āϝāĻ•ā§āϤāĻŋ āĻĨāĻžāĻ•āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻāĻ•āϟāĻŋ āĻ…āĻ­āĻŋāĻŦā§āϝāĻ•ā§āϤāĻŋ āϕ⧋āĻĄā§‡āϰ āĻāĻ•āϟāĻŋ āĻ…āĻ‚āĻļ āϝāĻž āĻāĻ•āϟāĻŋ āĻŽāĻžāύ āĻŽā§‚āĻ˛ā§āϝāĻžāϝāĻŧāύ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻāĻ•āϟāĻŋ āϏāĻšāϜ āĻšā§‡āĻ• āĻšāϞ āĻāϟāĻŋ return āĻāϰ āĻĒāϰ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āϝāĻžāĻŦ⧇ āĻ•āĻŋāύāĻžāĨ¤

āĻ…āϤāĻāĻŦ, āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤāϗ⧁āϞāĻŋ āĻ•āĻžāϜ āĻ•āϰāĻŦ⧇ āύāĻž:

template
<!-- this is a statement, not an expression: -->
{{ var a = 1 }}

<!-- flow control won't work either, use ternary expressions -->
{{ if (ok) { return message } }}

Calling Functions ​

āĻāĻ•āϟāĻŋ āĻŦāĻžāχāĻ¨ā§āĻĄāĻŋāĻ‚ āĻāĻ•ā§āϏāĻĒā§āϰ⧇āĻļāύ⧇āϰ āĻ­āĻŋāϤāϰ⧇ āĻāĻ•āϟāĻŋ āĻ•āĻŽā§āĻĒā§‹āύ⧇āĻ¨ā§āϟ-āωāĻ¨ā§āĻŽā§āĻ•ā§āϤ āĻĒāĻĻā§āϧāϤāĻŋ āĻ•āϞ āĻ•āϰāĻž āϏāĻŽā§āĻ­āĻŦ:

template
<time :title="toTitleDate(date)" :datetime="date">
  {{ formatDate(date) }}
</time>

TIP

āχāύāϏāĻžāχāĻĄ āĻŦāĻžāχāĻ¨ā§āĻĄāĻŋāĻ‚ āĻāĻ•ā§āϏāĻĒā§āϰ⧇āĻļāύ āĻŦāϞāĻž āĻĢāĻžāĻ‚āĻļāύāϗ⧁āϞāĻŋāϕ⧇ āĻĒā§āϰāϤāĻŋāĻŦāĻžāϰ āĻ•āĻŽā§āĻĒā§‹āύ⧇āĻ¨ā§āϟ āφāĻĒāĻĄā§‡āϟ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻ•āϞ āĻ•āϰāĻž āĻšāĻŦ⧇, āϤāĻžāχ āϤāĻžāĻĻ⧇āϰ āϕ⧋āύāĻ“ āĻĒāĻžāĻ°ā§āĻļā§āĻŦ āĻĒā§āϰāϤāĻŋāĻ•ā§āϰāĻŋāϝāĻŧāĻž āϝ⧇āĻŽāύ āĻĄā§‡āϟāĻž āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰāĻž āĻŦāĻž āĻ…ā§āϝāĻžāϏāĻŋāĻ™ā§āĻ•ā§āϰ⧋āύāĻžāϏ āĻ•ā§āϰāĻŋāϝāĻŧāĻžāĻ•āϞāĻžāĻĒ āĻŸā§āϰāĻŋāĻ—āĻžāϰ āĻ•āϰāĻž āύāĻž āωāϚāĻŋāϤāĨ¤

Restricted Globals Access ​

āĻŸā§‡āĻŽāĻĒā§āϞ⧇āϟ āĻāĻ•ā§āϏāĻĒā§āϰ⧇āĻļāύāϗ⧁āϞāĻŋ āĻ¸ā§āϝāĻžāĻ¨ā§āĻĄāĻŦāĻ•ā§āϏāϝ⧁āĻ•ā§āϤ āĻāĻŦāĻ‚ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻāĻ•āϟāĻŋ āĻ—ā§āϞ⧋āĻŦāĻžāϞ⧇āϰ āϏ⧀āĻŽāĻžāĻŦāĻĻā§āϧ āϤāĻžāϞāĻŋāĻ•āĻž āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āϤāĻžāϞāĻŋāĻ•āĻžāϟāĻŋ āϏāĻžāϧāĻžāϰāĻŖāϤ āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻŦāĻŋāĻ˛ā§āϟ-āχāύ āĻ—ā§āϞ⧋āĻŦāĻžāϞ āϝ⧇āĻŽāύ Math āĻāĻŦāĻ‚ Date āĻĒā§āϰāĻ•āĻžāĻļ āĻ•āϰ⧇āĨ¤

āϤāĻžāϞāĻŋāĻ•āĻžāϝāĻŧ āĻ¸ā§āĻĒāĻˇā§āϟāĻ­āĻžāĻŦ⧇ āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤ āύāϝāĻŧ āĻ—ā§āϞ⧋āĻŦāĻžāϞ, āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ āωāχāĻ¨ā§āĻĄā§‹-āĻ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀-āϏāĻ‚āϝ⧁āĻ•ā§āϤ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ, āĻŸā§‡āĻŽāĻĒā§āϞ⧇āϟ āĻāĻ•ā§āϏāĻĒā§āϰ⧇āĻļāύ⧇ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏāϝ⧋āĻ—ā§āϝ āĻšāĻŦ⧇ āύāĻžāĨ¤ āϤāĻŦ⧇, āφāĻĒāύāĻŋ app.config.globalProperties āĻ āϝ⧋āĻ— āĻ•āϰ⧇ āϏāĻŽāĻ¸ā§āϤ Vue āĻāĻ•ā§āϏāĻĒā§āϰ⧇āĻļāύ⧇āϰ āϜāĻ¨ā§āϝ āĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤ āĻ—ā§āϞ⧋āĻŦāĻžāϞāϕ⧇ āĻ¸ā§āĻĒāĻˇā§āϟāĻ­āĻžāĻŦ⧇ āϏāĻ‚āĻœā§āĻžāĻžāϝāĻŧāĻŋāϤ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤

Directives ​

āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻžāĻŦāϞ⧀ āĻšāϞ v- āĻĒā§āϰāĻŋāĻĢāĻŋāĻ•ā§āϏ āϏāĻš āĻŦāĻŋāĻļ⧇āώ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝāĨ¤ Vue āĻ…āύ⧇āĻ•āϗ⧁āϞāĻŋ āĻŦāĻŋāĻ˛ā§āϟ-āχāύ āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻŋāĻ•āĻž āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰ⧇, āϝāĻžāϰ āĻŽāĻ§ā§āϝ⧇ v-html āĻāĻŦāĻ‚ v-bind āϝāĻž āφāĻŽāϰāĻž āωāĻĒāϰ⧇ āωāĻĒāĻ¸ā§āĻĨāĻžāĻĒāύ āĻ•āϰ⧇āĻ›āĻŋāĨ¤

āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻŽā§‚āϞāĻ• āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ⧇āϰ āĻŽāĻžāύāϗ⧁āϞāĻŋ āĻāĻ•āĻ• āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āĻāĻ•ā§āϏāĻĒā§āϰ⧇āĻļāύ āĻšāϤ⧇ āĻĒā§āϰāĻ¤ā§āϝāĻžāĻļāĻŋāϤ (v-for, v-on āĻāĻŦāĻ‚ v-slot āĻŦā§āϝāϤ⧀āϤ, āϝāĻž āĻĒāϰ⧇ āϤāĻžāĻĻ⧇āϰ āύāĻŋāϜ āύāĻŋāϜ āĻŦāĻŋāĻ­āĻžāϗ⧇ āφāϞ⧋āϚāύāĻž āĻ•āϰāĻž āĻšāĻŦ⧇)āĨ¤ āĻāĻ•āϟāĻŋ āύāĻŋāĻ°ā§āĻĻ⧇āĻļ⧇āϰ āĻ•āĻžāϜ āĻšāϞ āĻĒā§āϰāϤāĻŋāĻ•ā§āϰāĻŋāϝāĻŧāĻžāĻļā§€āϞāĻ­āĻžāĻŦ⧇ DOM-āĻ āφāĻĒāĻĄā§‡āϟāϗ⧁āϞāĻŋ āĻĒā§āϰāϝāĻŧā§‹āĻ— āĻ•āϰāĻž āϝāĻ–āύ āĻāϰ āĻ…āĻ­āĻŋāĻŦā§āϝāĻ•ā§āϤāĻŋāϰ āĻŽāĻžāύ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāĻŋāϤ āĻšāϝāĻŧāĨ¤ āωāĻĻāĻžāĻšāϰāĻŖ āĻšāĻŋāϏ⧇āĻŦ⧇ v-if āύāĻŋāύ:

template
<p v-if="seen">Now you see me</p>

āĻāĻ–āĻžāύ⧇, v-if āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻŋāĻ•āĻž āĻĻ⧇āĻ–āĻž āĻ…āĻ­āĻŋāĻŦā§āϝāĻ•ā§āϤāĻŋāϰ āĻŽāĻžāύ⧇āϰ āϏāĻ¤ā§āϝāϤāĻžāϰ āωāĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇ <p> āĻ•āĻŽā§āĻĒā§‹āύ⧇āĻ¨ā§āϟāϟāĻŋāϕ⧇ āϏāϰāĻŋāϝāĻŧ⧇ āĻĻ⧇āĻŦ⧇ āĻŦāĻž āϏāĻ¨ā§āύāĻŋāĻŦ⧇āĻļ āĻ•āϰāĻŦ⧇āĨ¤

Arguments ​

āĻ•āĻŋāϛ⧁ āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻžāĻŦāϞ⧀ āĻāĻ•āϟāĻŋ "āϝ⧁āĻ•ā§āϤāĻŋ" āύāĻŋāϤ⧇ āĻĒāĻžāϰ⧇, āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻŋāĻ• āύāĻžāĻŽā§‡āϰ āĻĒāϰ⧇ āĻāĻ•āϟāĻŋ āϕ⧋āϞāύ āĻĻā§āĻŦāĻžāϰāĻž āϚāĻŋāĻšā§āύāĻŋāϤ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤ āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, v-bind āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻŋāĻ•āĻžāϟāĻŋ āĻĒā§āϰāϤāĻŋāĻ•ā§āϰāĻŋāϝāĻŧāĻžāĻļā§€āϞāĻ­āĻžāĻŦ⧇ āĻāĻ•āϟāĻŋ HTML āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ āφāĻĒāĻĄā§‡āϟ āĻ•āϰāϤ⧇ āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻšāϝāĻŧ:

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

<!-- shorthand -->
<a :href="url"> ... </a>

āĻāĻ–āĻžāύ⧇, href āĻšāϞ āφāĻ°ā§āϗ⧁āĻŽā§‡āĻ¨ā§āϟ, āϝāĻž v-bind āύāĻŋāĻ°ā§āĻĻ⧇āĻļāϕ⧇ āĻŦāϞ⧇ āĻ•āĻŽā§āĻĒā§‹āύ⧇āĻ¨ā§āĻŸā§‡āϰ href āĻ…ā§āϝāĻžāĻŸā§āϰāĻŋāĻŦāĻŋāωāϟāϕ⧇ url-āĻāϰ āĻŽāĻžāύ⧇āϰ āϏāĻžāĻĨ⧇ āφāĻŦāĻĻā§āϧ āĻ•āϰāϤ⧇āĨ¤ āĻļāĻ°ā§āϟāĻšā§āϝāĻžāĻ¨ā§āĻĄā§‡, āφāĻ°ā§āϗ⧁āĻŽā§‡āĻ¨ā§āĻŸā§‡āϰ āφāϗ⧇ āϏāĻŦāĻ•āĻŋāϛ⧁ (āĻ…āĻ°ā§āĻĨāĻžā§Ž, v-bind:) āĻāĻ•āϟāĻŋ āĻāĻ•āĻ• āĻ…āĻ•ā§āώāϰ⧇ āϘāύ⧀āĻ­ā§‚āϤ āĻšāϝāĻŧ, :āĨ¤

āφāϰ⧇āĻ•āϟāĻŋ āωāĻĻāĻžāĻšāϰāĻŖ āĻšāϞ v-on āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻŋāĻ•āĻž, āϝāĻž DOM āχāϭ⧇āĻ¨ā§āϟ āĻļā§‹āύ⧇:

template
<a v-on:click="doSomething"> ... </a>

<!-- shorthand -->
<a @click="doSomething"> ... </a>

āĻāĻ–āĻžāύ⧇, āϝ⧁āĻ•ā§āϤāĻŋ āĻšāϞ āχāϭ⧇āĻ¨ā§āĻŸā§‡āϰ āύāĻžāĻŽ āϝāĻž āĻļ⧁āύāϤ⧇ āĻšāĻŦ⧇: clickāĨ¤ v-on āĻāϰ āĻāĻ•āϟāĻŋ āϏāĻ‚āĻļā§āϞāĻŋāĻˇā§āϟ āϏāĻ‚āĻ•ā§āώāĻŋāĻĒā§āϤ āĻšāĻ¸ā§āϤ āφāϛ⧇, āϝāĻĨāĻž @ āĻ…āĻ•ā§āώāϰāĨ¤ āφāĻŽāϰāĻž āφāϰāĻ“ āĻŦāĻŋāĻ¸ā§āϤāĻžāϰāĻŋāϤāĻ­āĻžāĻŦ⧇ āχāϭ⧇āĻ¨ā§āϟ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āĻ•āĻĨāĻž āĻŦāϞāĻŦāĨ¤

Dynamic Arguments ​

āĻāϟāĻŋ āĻŦāĻ°ā§āĻ—āĻžāĻ•āĻžāϰ āĻŦāĻ¨ā§āϧāύ⧀ āĻĻāĻŋāϝāĻŧ⧇ āĻŽā§‹āĻĄāĻŧāĻžāύ⧋ āĻāĻ•āϟāĻŋ āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻŽā§‚āϞāĻ• āϝ⧁āĻ•ā§āϤāĻŋāϤ⧇ āĻāĻ•āϟāĻŋ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āĻāĻ•ā§āϏāĻĒā§āϰ⧇āĻļāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻžāĻ“ āϏāĻŽā§āĻ­āĻŦ:

template
<!--
Note that there are some constraints to the argument expression,
as explained in the "Dynamic Argument Value Constraints" and "Dynamic Argument Syntax Constraints" sections below.
-->
<a v-bind:[attributeName]="url"> ... </a>

<!-- shorthand -->
<a :[attributeName]="url"> ... </a>

āĻāĻ–āĻžāύ⧇, attributeName āĻāĻ•āϟāĻŋ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āĻāĻ•ā§āϏāĻĒā§āϰ⧇āĻļāύ āĻšāĻŋāϏāĻžāĻŦ⧇ āĻ—āϤāĻŋāĻļā§€āϞāĻ­āĻžāĻŦ⧇ āĻŽā§‚āĻ˛ā§āϝāĻžāϝāĻŧāύ āĻ•āϰāĻž āĻšāĻŦ⧇, āĻāĻŦāĻ‚ āĻāϰ āĻŽā§‚āĻ˛ā§āϝāĻžāϝāĻŧāύ āĻ•āϰāĻž āĻŽāĻžāύāϟāĻŋ āϝ⧁āĻ•ā§āϤāĻŋāϰ āϜāĻ¨ā§āϝ āĻšā§‚āĻĄāĻŧāĻžāĻ¨ā§āϤ āĻŽāĻžāύ āĻšāĻŋāϏāĻžāĻŦ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšāĻŦ⧇āĨ¤ āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āϝāĻĻāĻŋ āφāĻĒāύāĻžāϰ āĻ•āĻŽā§āĻĒā§‹āύ⧇āĻ¨ā§āϟ āχāύāĻ¸ā§āĻŸā§āϝāĻžāĻ¨ā§āϏ⧇ āĻāĻ•āϟāĻŋ āĻĄā§‡āϟāĻž āĻĒā§āϰāĻĒāĻžāĻ°ā§āϟāĻŋ āĻĨāĻžāϕ⧇, attributeName, āϝāĻžāϰ āĻŽāĻžāύ "href", āϤāĻžāĻšāϞ⧇ āĻāχ āĻŦāĻžāχāĻ¨ā§āĻĄāĻŋāĻ‚āϟāĻŋ v-bind:href āĻāϰ āϏāĻŽāϤ⧁āĻ˛ā§āϝ āĻšāĻŦ⧇āĨ¤

āĻāĻ•āχāĻ­āĻžāĻŦ⧇, āφāĻĒāύāĻŋ āĻāĻ•āϟāĻŋ āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞāĻžāϰāϕ⧇ āĻāĻ•āϟāĻŋ āĻĄāĻžāϝāĻŧāύāĻžāĻŽāĻŋāĻ• āχāϭ⧇āĻ¨ā§āϟ āύāĻžāĻŽā§‡āϰ āϏāĻžāĻĨ⧇ āφāĻŦāĻĻā§āϧ āĻ•āϰāϤ⧇ āĻ—āϤāĻŋāĻļā§€āϞ āφāĻ°ā§āϗ⧁āĻŽā§‡āĻ¨ā§āϟ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ:

template
<a v-on:[eventName]="doSomething"> ... </a>

<!-- shorthand -->
<a @[eventName]="doSomething"> ... </a>

āĻāχ āωāĻĻāĻžāĻšāϰāϪ⧇, āϝāĻ–āύ eventName āĻāϰ āĻŽāĻžāύ "focus" āĻšāϝāĻŧ, v-on:[eventName] āĻšāĻŦ⧇ v-on:focus āĻāϰ āϏāĻŽāϤ⧁āĻ˛ā§āϝāĨ¤

Dynamic Argument Value Constraints ​

āĻĄāĻžāϝāĻŧāύāĻžāĻŽāĻŋāĻ• āφāĻ°ā§āϗ⧁āĻŽā§‡āĻ¨ā§āϟāϗ⧁āϞāĻŋ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚āϕ⧇ āĻŽā§‚āĻ˛ā§āϝāĻžāϝāĻŧāύ āĻ•āϰāĻŦ⧇ āĻŦāϞ⧇ āφāĻļāĻž āĻ•āϰāĻž āĻšāĻšā§āϛ⧇, null āĻŦāĻžāĻĻ āĻĻāĻŋāϝāĻŧ⧇āĨ¤ āĻŦāĻŋāĻļ⧇āώ āĻŽāĻžāύ null āĻ¸ā§āĻĒāĻˇā§āϟāĻ­āĻžāĻŦ⧇ āĻŦāĻžāρāϧāĻžāχ āĻ…āĻĒāϏāĻžāϰāĻŖ āĻ•āϰāϤ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻ…āĻ¨ā§āϝ āϕ⧋āύ⧋ āύāύ-āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚ āĻŽāĻžāύ āĻāĻ•āϟāĻŋ āϏāϤāĻ°ā§āĻ•āϤāĻž āĻŸā§āϰāĻŋāĻ—āĻžāϰ āĻ•āϰāĻŦ⧇āĨ¤

Dynamic Argument Syntax Constraints ​

āĻĄāĻžāϝāĻŧāύāĻžāĻŽāĻŋāĻ• āφāĻ°ā§āϗ⧁āĻŽā§‡āĻ¨ā§āϟ āĻāĻ•ā§āϏāĻĒā§āϰ⧇āĻļāύ⧇āϰ āĻ•āĻŋāϛ⧁ āϏāĻŋāύāĻŸā§āϝāĻžāĻ•ā§āϏ āϏ⧀āĻŽāĻžāĻŦāĻĻā§āϧāϤāĻž āϰāϝāĻŧ⧇āϛ⧇ āĻ•āĻžāϰāĻŖ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ…āĻ•ā§āώāϰ, āϝ⧇āĻŽāύ āĻ¸ā§āĻĒ⧇āϏ āĻāĻŦāĻ‚ āωāĻĻā§āϧ⧃āϤāĻŋ, HTML āĻ…ā§āϝāĻžāĻŸā§āϰāĻŋāĻŦāĻŋāωāϟ āύāĻžāĻŽā§‡āϰ āĻŽāĻ§ā§āϝ⧇ āĻ…āĻŦ⧈āϧāĨ¤ āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤāϟāĻŋ āĻ…āĻŦ⧈āϧ:

template
<!-- This will trigger a compiler warning. -->
<a :['foo' + bar]="value"> ... </a>

āφāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāĻ•āϟāĻŋ āϜāϟāĻŋāϞ āĻ—āϤāĻŋāĻļā§€āϞ āϝ⧁āĻ•ā§āϤāĻŋ āĻĒāĻžāϏ āĻ•āϰāϤ⧇ āϚāĻžāύ, āϤāĻžāĻšāϞ⧇ āϏāĻŽā§āĻ­āĻŦāϤ āĻāĻ•āϟāĻŋ āĻ—āĻŖāύāĻž āĻ•āϰāĻž āĻ•āĻŽā§āĻĒāĻŋāωāĻŸā§‡āĻĄ āĻĒā§āϰāĻĒāĻžāĻ°ā§āϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻ­āĻžāϞ, āϝāĻž āφāĻŽāϰāĻž āĻļā§€āĻ˜ā§āϰāχ āĻ•āĻ­āĻžāϰ āĻ•āϰāĻŦāĨ¤

āχāύ-āĻĄā§‹āĻŽ āĻŸā§‡āĻŽāĻĒā§āϞ⧇āϟāϗ⧁āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ (āĻŸā§‡āĻŽāĻĒā§āϞ⧇āϟāϗ⧁āϞāĻŋ āϏāϰāĻžāϏāϰāĻŋ āĻāĻ•āϟāĻŋ HTML āĻĢāĻžāχāϞ⧇ āϞ⧇āĻ–āĻž), āφāĻĒāύāĻžāϕ⧇ āĻŦāĻĄāĻŧ āĻšāĻžāϤ⧇āϰ āĻ…āĻ•ā§āώāϰ āϏāĻš āύāĻžāĻŽāĻ•āϰāĻŖ āϕ⧀āϗ⧁āϞāĻŋ āĻāĻĄāĻŧāĻžāϤ⧇ āĻšāĻŦ⧇, āĻ•āĻžāϰāĻŖ āĻŦā§āϰāĻžāωāϜāĻžāϰāϗ⧁āϞāĻŋ āϛ⧋āϟ āĻšāĻžāϤ⧇āϰ āĻ…āĻ•ā§āώāϰāϗ⧁āϞāĻŋāϤ⧇ āύāĻžāĻŽāϗ⧁āϞāĻŋāϕ⧇ āĻœā§‹āϰ āĻ•āϰ⧇ āύāĻžāĻŽāϗ⧁āϞāĻŋāϕ⧇ āĻŦāĻžāĻ§ā§āϝ āĻ•āϰāĻŦ⧇:

template
<a :[someAttr]="value"> ... </a>

āωāĻĒāϰ⧇āϰāϟāĻŋ āχāύ-āĻĄā§‹āĻŽ āĻŸā§‡āĻŽāĻĒā§āϞ⧇āĻŸā§‡ :[someattr]-āĻ āϰ⧂āĻĒāĻžāĻ¨ā§āϤāϰāĻŋāϤ āĻšāĻŦ⧇āĨ¤ āϝāĻĻāĻŋ āφāĻĒāύāĻžāϰ āĻ•āĻŽā§āĻĒā§‹āύ⧇āĻ¨ā§āĻŸā§‡ someattr āĻāϰ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤ⧇ someAttr āĻĒā§āϰāĻĒāĻžāĻ°ā§āϟāĻŋ āĻĨāĻžāϕ⧇, āϤāĻžāĻšāϞ⧇ āφāĻĒāύāĻžāϰ āϕ⧋āĻĄ āĻ•āĻžāϜ āĻ•āϰāĻŦ⧇ āύāĻžāĨ¤ āĻāĻ•āĻ•-āĻĢāĻžāχāϞ āĻ•āĻŽā§āĻĒā§‹āύ⧇āĻ¨ā§āĻŸā§‡āϰ āĻ­āĻŋāϤāϰ⧇āϰ āĻŸā§‡āĻŽāĻĒā§āϞ⧇āϟāϗ⧁āϞāĻŋ āĻāχ āϏ⧀āĻŽāĻžāĻŦāĻĻā§āϧāϤāĻžāϰ āϏāĻžāĻĒ⧇āĻ•ā§āώ⧇ āύāϝāĻŧāĨ¤

Modifiers ​

āϏāĻ‚āĻļā§‹āϧāĻ•āϗ⧁āϞāĻŋ āĻāĻ•āϟāĻŋ āĻŦāĻŋāĻ¨ā§āĻĻ⧁ āĻĻā§āĻŦāĻžāϰāĻž āϚāĻŋāĻšā§āύāĻŋāϤ āĻŦāĻŋāĻļ⧇āώ āĻĒā§‹āĻ¸ā§āϟāĻĢāĻŋāĻ•ā§āϏāϗ⧁āϞāĻŋ, āϝāĻž āύāĻŋāĻ°ā§āĻĻ⧇āĻļ āĻ•āϰ⧇ āϝ⧇ āĻāĻ•āϟāĻŋ āύāĻŋāĻ°ā§āĻĻ⧇āĻļāϕ⧇ āĻ•āĻŋāϛ⧁ āĻŦāĻŋāĻļ⧇āώ āωāĻĒāĻžāϝāĻŧ⧇ āφāĻŦāĻĻā§āϧ āĻ•āϰāĻž āωāϚāĻŋāϤāĨ¤ āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āĻŸā§āϰāĻŋāĻ—āĻžāϰ āĻ•āϰāĻž āχāϭ⧇āĻ¨ā§āĻŸā§‡ event.preventDefault() āĻ•āϞ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ .prevent āϏāĻ‚āĻļā§‹āϧāĻ• v-on āύāĻŋāĻ°ā§āĻĻ⧇āĻļāϕ⧇ āĻŦāϞ⧇:

template
<form @submit.prevent="onSubmit">...</form>

āφāĻĒāύāĻŋ āĻĒāϰ⧇ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύāĻ•āĻžāϰ⧀āĻĻ⧇āϰ āĻ…āĻ¨ā§āϝāĻžāĻ¨ā§āϝ āωāĻĻāĻžāĻšāϰāĻŖ āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāĻŦ⧇āύ, for v-on āĻāĻŦāĻ‚ for v-model,āϝāĻ–āύ āφāĻŽāϰāĻž āϏ⧇āχ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝāϗ⧁āϞāĻŋ āĻ…āĻ¨ā§āĻŦ⧇āώāĻŖ āĻ•āϰāĻŋāĨ¤

āĻāĻŦāĻ‚ āĻ…āĻŦāĻļ⧇āώ⧇, āĻāĻ–āĻžāύ⧇ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻ• āϏāĻŋāύāĻŸā§āϝāĻžāĻ•ā§āϏ āĻ­āĻŋāĻœā§āϝ⧁āϝāĻŧāĻžāϞāĻžāχāϜ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇:

directive syntax graph

Template Syntax has loaded