【前端】vue3的指令

介绍

Vue 是一个用于构建用户界面的渐进式 JavaScript 框架,核心关注视图层,通过组件化和响应式系统帮助开发者高效构建动态的 Web 应用。Vue 3 引入了更高效的响应式引擎、组合式 API 以及更好的 TypeScript 支持。

指令系统

Vue 的指令以 v- 前缀开头,用于在模板中为元素附加特定的行为或响应式绑定。

核心结构控制

  • v-if:基于表达式真值在 DOM 中有条件地渲染或销毁元素。
  • v-else-if :配合 v-if 在同一链路上提供额外的条件分支。
  • v-else :搭配 v-if/v-else-if 提供兜底渲染分支。
  • v-show :通过切换元素的 display 样式来控制显示与隐藏,元素不会从 DOM 中移除。
  • v-for:基于数组、对象或数字生成列表渲染,支持条目和索引/键绑定。

数据绑定

  • v-bind :将表达式的值绑定到元素的属性、组件的 props 或指令参数,可缩写为冒号 :
  • v-model :在表单控件与应用状态之间创建双向数据绑定,支持修饰符(如 .trim.lazy.number)。
  • v-text :将元素的 textContent 设置为表达式的值,避免直接使用 Mustache 语法。
  • v-html :将元素的 innerHTML 设置为表达式的值,允许插入原始 HTML(需注意 XSS 风险)。

事件处理

  • v-on :监听 DOM 事件并在事件触发时执行表达式或方法,可缩写为 @,支持事件修饰符和键位修饰符。

插槽与模板控制

  • v-slot :声明插槽内容或作用域插槽,支持具名和解构语法,是取代 slot 特性的统一指令。
  • v-is :在 DOM 模板中动态设置实际渲染的组件类型,通常用于 <component> 替代方案。

性能与编译提示

  • v-once:只渲染元素和组件一次,后续状态更新不会触发重新渲染。
  • v-memo:基于指定表达式的结果决定是否跳过其子树的更新,用于性能优化。
  • v-pre:跳过该元素及子元素的编译过程,保留原始 Mustache 语法或优化性能。

其他实用指令

  • v-cloak:配合 CSS 隐藏未编译完成的模板内容,编译结束后自动移除。
  • 自定义指令 :通过 app.directive 定义 v-xxx 形式的指令,在元素挂载、更新和卸载阶段注入复用逻辑。

以上指令构成 Vue 3 模板的基础能力,能够满足从数据绑定、控制流、事件处理到性能优化的多种场景。

相关推荐
kyriewen11 小时前
我手写了一个 EventEmitter,面试官追问了 6 个问题——第 4 个我没答上来
前端·javascript·面试
IT_陈寒11 小时前
Java的Date类又坑了我一次,改用时间戳真香
前端·人工智能·后端
小林攻城狮12 小时前
使用 Transport 节流解决 Vercel AI SDK 流式渲染卡死问题
前端·react.js
前端缘梦12 小时前
告别 TS 运行时类型漏洞!Zod 完整入门实战教程(前端 / 全栈必备)
前端·react.js·全栈
the_answer13 小时前
Webpack vs Vite 深度对比分析
前端·webpack
转转技术团队13 小时前
验证码识别实战:前端不写页面,改训模型了?
前端
MomentYY13 小时前
Temperature:AI 的“脑洞旋钮”
前端·llm·ai编程
远航_13 小时前
OpenSpec 完整详细介绍
前端·后端
召钱熏13 小时前
状态枚举正确≠渲染正确:一个语音按钮的状态机边界修复实录
android·前端
SkyWalking中文站13 小时前
认识 Horizon UI · 1/17:SkyWalking 新一代可观测性控制台
运维·前端·监控