推荐答案
uni-app 的指令 (directive) 主要包括以下几种:
- v-bind:用于动态绑定属性。
- v-on:用于绑定事件监听器。
- v-model:用于在表单控件或组件上创建双向数据绑定。
- v-if、v-else-if、v-else:用于条件渲染。
- v-show:用于根据条件显示或隐藏元素。
- v-for:用于列表渲染。
- v-text:用于更新元素的
textContent
。 - v-html:用于更新元素的
innerHTML
。 - v-pre:用于跳过该元素及其子元素的编译过程。
- v-cloak:用于在 Vue 实例编译完成前隐藏未编译的 Mustache 标签。
- v-once:用于只渲染元素和组件一次。
本题详细解读
v-bind
v-bind
指令用于动态绑定 HTML 属性。例如,你可以将一个变量绑定到 src
属性上:
<img v-bind:src="imageSrc">
v-on
v-on
指令用于绑定事件监听器。例如,你可以监听按钮的点击事件:
<button v-on:click="handleClick">Click me</button>
v-model
v-model
指令用于在表单控件或组件上创建双向数据绑定。例如,你可以将输入框的值与一个变量绑定:
<input v-model="message">
v-if、v-else-if、v-else
这些指令用于条件渲染。例如,你可以根据条件显示不同的内容:
<div v-if="type === 'A'">A</div> <div v-else-if="type === 'B'">B</div> <div v-else>C</div>
v-show
v-show
指令用于根据条件显示或隐藏元素。与 v-if
不同,v-show
只是切换元素的 display
属性:
<div v-show="isVisible">Visible</div>
v-for
v-for
指令用于列表渲染。例如,你可以遍历一个数组并渲染列表项:
<ul> <li v-for="item in items" :key="item.id">{{ item.name }}</li> </ul>
v-text
v-text
指令用于更新元素的 textContent
。例如,你可以将一个变量的值插入到元素中:
<span v-text="message"></span>
v-html
v-html
指令用于更新元素的 innerHTML
。例如,你可以将一个 HTML 字符串插入到元素中:
<div v-html="htmlContent"></div>
v-pre
v-pre
指令用于跳过该元素及其子元素的编译过程。例如,你可以保留原始的 Mustache 标签:
<div v-pre>{{ this will not be compiled }}</div>
v-cloak
v-cloak
指令用于在 Vue 实例编译完成前隐藏未编译的 Mustache 标签。通常与 CSS 一起使用:
<div v-cloak>{{ message }}</div>
[v-cloak] { display: none; }
v-once
v-once
指令用于只渲染元素和组件一次。例如,你可以确保某个元素只渲染一次:
<span v-once>{{ message }}</span>