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'
}
āĻāĻĒāύāĻŋ āĻāĻāĻāĻŋ āϝā§āĻā§āϤāĻŋ āĻāĻžāĻĄāĻŧāĻžāĻ 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
,āϝāĻāύ āĻāĻŽāϰāĻž āϏā§āĻ āĻŦā§āĻļāĻŋāώā§āĻā§āϝāĻā§āϞāĻŋ āĻ
āύā§āĻŦā§āώāĻŖ āĻāϰāĻŋāĨ¤
āĻāĻŦāĻ āĻ āĻŦāĻļā§āώā§, āĻāĻāĻžāύ⧠āϏāĻŽā§āĻĒā§āϰā§āĻŖ āύāĻŋāϰā§āĻĻā§āĻļāĻ āϏāĻŋāύāĻā§āϝāĻžāĻā§āϏ āĻāĻŋāĻā§āϝā§āϝāĻŧāĻžāϞāĻžāĻāĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§:
GitHub-āĻ āĻāĻ āĻĒā§āώā§āĻ āĻžāĻāĻŋ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻž āĻāϰā§āύ