VUE指令、修饰符

190 阅读2分钟

Vue指令是带有v-前缀的特殊属性,用于为DOM元素添加动态行为或绑定数据。

以下是Vue中常见的内置指令及其作用:

1. 数据绑定指令

  • v-text:更新元素的文本内容(不解析HTML标签),相当于{{ }}插值语法的替代。‌
  • v-html:将数据解析为HTML并插入到元素中,需注意XSS攻击风险。‌
  • v-model:实现表单元素与数据的双向绑定,常用于输入框、选择框等。‌

2. 条件渲染指令

  • v-if/v-else/v-else-if‌:根据条件动态添加或移除DOM节点(条件为假时元素不渲染)。‌
  • v-show‌:通过切换CSS的display属性控制元素显示/隐藏(DOM始终存在),适合频繁切换的场景。‌

3. 循环渲染指令

  • v-for‌:遍历数组或对象生成动态列表,需配合唯一的key属性优化性能。‌

4. 事件绑定指令

  • v-on‌(缩写@):监听DOM事件(如点击、键盘输入),支持修饰符(如.stop.prevent)。

5. 属性绑定指令

  • v-bind‌(缩写:):动态绑定HTML属性或组件props(如:src:class)。

6. 特殊功能指令

  • v-pre‌:跳过该元素及其子元素的编译,直接显示原始内容。‌24
  • v-cloak‌:防止未编译的模板闪烁,需配合CSS使用。
  • v-once‌:元素或组件仅渲染一次,后续数据变化不更新。
  • v-slot‌:用于具名插槽,提供灵活的插槽内容分发。‌26
  • v-memo‌:(Vue 3特有):缓存计算属性以提高性能。‌2

指令修饰符

部分指令支持修饰符,例如:

  • v-model‌的.lazy(延迟更新)、.trim(去除空格)。‌56
  • v-on‌的.stop(阻止冒泡)、.prevent(阻止默认事件)。‌45

总结‌:Vue指令通过简洁的语法实现了数据绑定、DOM操作和事件处理,是Vue响应式系统的核心功能之一。根据场景选择指令(如频繁切换用:ml-search[v-show],条件稳定用:ml-search[v-if])能优化性能