【前端】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 模板的基础能力,能够满足从数据绑定、控制流、事件处理到性能优化的多种场景。

相关推荐
橘子星6 分钟前
🚀 手把手带你写一个端侧 AI 应用的"加载进度条"与"聊天对话框"
前端·人工智能
37.2℃99542 分钟前
专业的Claude Design解决方案
前端·算法
Jolyne_1 小时前
ng-zorro-table列宽resize后宽度是NaN的源码调试记录
前端
liwulin05061 小时前
【ollama】自定义结构化输出
linux·前端·数据库·ollama
前端甜糖1 小时前
记录We码开发者工具的一个bug
前端·javascript
程序员黑豆1 小时前
鸿蒙应用开发教程:以红绿灯切换为例,掌握条件渲染的核心用法
前端·harmonyos
猫3281 小时前
echarts 日常问题解决
前端·javascript·echarts
新中地GIS开发老师1 小时前
地信职业百科④:GIS开发工程师
前端·数据库·gis·webgis·三维gis开发
我是大卫2 小时前
【图】React源码解析-从数据结构、调度器、源码设计模式到状态计算引擎,深挖useReducer原理
前端·react.js·源码
willes2 小时前
列表中的倒计时组件
前端