一、基础指令
- v-text:将数据绑定到元素的文本内容。
- v-html:将包含 HTML 代码的数据绑定到元素。
- v-show:根据表达式的值控制元素的显示或隐藏。
- v-if:根据条件动态地渲染元素。
- v-else:与
v-if搭配使用,在v-if条件不满足时渲染。 - v-else-if:在多个
v-if条件之间添加额外的条件判断。
二、属性绑定指令
- v-bind:动态绑定一个或多个属性值。
- v-bind:class:动态绑定类名。
- v-bind:style:动态绑定内联样式。
三、事件处理指令
- v-on:监听 DOM 事件,并绑定处理函数。
- v-on:click:监听点击事件。
- v-on:input:监听输入事件。
四、列表渲染指令
- v-for:基于数组或对象进行循环渲染。
五、表单输入绑定指令
- v-model:实现双向数据绑定,常用于表单元素。
六、其他指令
- v-pre:跳过该元素及其子元素的编译过程。
- v-cloak:在初始加载时隐藏未编译的元素。
详细解释:
v-text:
- 用法:
<element v-text="data"></element>,将data的值直接设置为元素的文本内容,会覆盖元素原有的文本。
- 用法:
v-html:
- 用法:
<element v-html="htmlData"></element>,将包含 HTML 代码的htmlData渲染为元素的内容,需要注意安全问题,防止 XSS 攻击。
- 用法:
v-show:
- 用法:
<element v-show="expression"></element>,通过切换元素的display属性来控制元素的显示或隐藏,当expression为false时,元素隐藏,但仍在 DOM 中。
- 用法:
v-if:
- 用法:
<element v-if="condition"></element>,根据condition的值来决定是否渲染该元素,当condition为false时,元素不会被渲染到 DOM 中。
- 用法:
v-else:
- 用法:
<element v-else></element>,必须紧跟在v-if或v-else-if之后,在v-if条件不满足时渲染该元素。
- 用法:
v-else-if:
- 用法:
<element v-else-if="condition"></element>,在多个v-if条件之间添加额外的条件判断。
- 用法:
v-bind:
- 用法:
<element v-bind:attribute="value"></element>,动态绑定一个或多个属性值,可以使用缩写形式:attribute。
- 用法:
v-bind:class:
- 用法一:
<element v-bind:class="{ active: isActive }"></element>,通过对象形式动态绑定类名,其中键是类名,值是布尔表达式。 - 用法二:
<element v-bind:class="[class1, class2]"></element>,通过数组形式动态绑定多个类名。
- 用法一:
v-bind:style:
- 用法一:
<element v-bind:style="{ color: 'ed', fontSize: '16px' }"></element>,通过对象形式动态绑定内联样式,其中键是样式属性名,值是属性值。 - 用法二:
<element v-bind:style="[style1, style2]"></element>,通过数组形式动态绑定多个内联样式对象。
- 用法一:
v-on:
- 用法:
<element v-on:event="handler"></element>,监听 DOM 事件,并绑定处理函数,可以使用缩写形式@event。
- 用法:
v-on:click:
- 用法:
<element v-on:click="clickHandler"></element>,监听点击事件。
- 用法:
v-on:input:
- 用法:
<input v-on:input="inputHandler">,监听输入事件。
- 用法:
v-for:
- 用法:
<element v-for="(item, index) in items" :key="item.id"></element>,基于数组或对象进行循环渲染,需要指定唯一的key属性。
- 用法:
v-model:
- 用法:
<input v-model="value">,实现双向数据绑定,常用于表单元素,将元素的值与数据进行同步。
- 用法:
v-pre:
- 用法:
<element v-pre></element>,跳过该元素及其子元素的编译过程,显示原始的未编译内容。
- 用法:
v-cloak:
- 用法:
<element v-cloak></element>,在初始加载时隐藏未编译的元素,防止闪现未编译的内容。
- 用法: