当前位置:首页 > VUE

vue指令实现常见功能

2026-02-22 13:48:34VUE

v-model 实现双向数据绑定

通过 v-model 指令将表单输入与 Vue 实例的数据属性绑定,适用于 <input><select><textarea> 等表单元素。

<input v-model="message" placeholder="输入内容">
<p>输入的内容是:{{ message }}</p>

在 Vue 实例中定义 message 数据属性即可实现双向同步。

v-for 渲染列表

使用 v-for 指令遍历数组或对象,动态生成列表项。需配合 :key 提供唯一标识以优化渲染性能。

<ul>
  <li v-for="(item, index) in items" :key="item.id">
    {{ index }} - {{ item.name }}
  </li>
</ul>

数据示例:

data() {
  return {
    items: [
      { id: 1, name: '选项1' },
      { id: 2, name: '选项2' }
    ]
  }
}

v-if/v-show 条件渲染

  • v-if:根据条件动态添加或移除 DOM 元素,适合切换频率低的场景。
  • v-show:通过 CSS display 属性控制显示/隐藏,适合频繁切换的场景。
    <div v-if="isVisible">v-if 控制的元素</div>
    <div v-show="isActive">v-show 控制的元素</div>

v-bind 动态绑定属性

通过 v-bind(缩写 :)动态绑定 HTML 属性或组件 props。

vue指令实现常见功能

<img :src="imageUrl" :alt="imageAlt">
<child-component :prop-data="parentData"></child-component>

v-on 事件监听

使用 v-on(缩写 @)监听 DOM 事件并触发方法。

<button @click="handleClick">点击事件</button>
<input @keyup.enter="submitForm">

方法定义:

methods: {
  handleClick() {
    console.log('按钮被点击');
  },
  submitForm() {
    console.log('回车提交表单');
  }
}

v-html 渲染原始 HTML

将数据作为 HTML 解析渲染(注意防范 XSS 攻击)。

vue指令实现常见功能

<div v-html="rawHtml"></div>

数据示例:

data() {
  return {
    rawHtml: '<span style="color: red">红色文本</span>'
  }
}

v-once 一次性渲染

仅渲染元素或组件一次,后续数据变化不会更新视图。

<span v-once>{{ staticContent }}</span>

自定义指令实现功能

通过 Vue.directive 定义全局指令,例如实现自动聚焦:

Vue.directive('focus', {
  inserted(el) {
    el.focus();
  }
});

使用方式:

<input v-focus>

修饰符增强指令

  • 事件修饰符:.stop.prevent.capture 等。
  • 按键修饰符:.enter.tab.esc 等。
    <form @submit.prevent="onSubmit">
    <input @keyup.enter="submit">
    </form>

标签: 指令常见
分享给朋友:

相关文章

vue 指令实现

vue 指令实现

在 Vue.js 中,指令(Directives)是带有 v- 前缀的特殊属性,用于在 DOM 上应用响应式行为。以下是一些常用指令及其实现方式: v-bind 动态绑定一个或多个属性到表达式。…

vue指令实现原理

vue指令实现原理

Vue 指令的实现原理 Vue 指令的核心是通过自定义属性(如 v-model、v-if)扩展 HTML 功能,其实现依赖于编译、响应式系统和 DOM 操作。以下是关键实现机制: 编译阶段解析指…

vue全局指令实现

vue全局指令实现

Vue 全局指令的实现 在 Vue 中,全局指令可以通过 Vue.directive() 方法注册,这些指令可以在任何组件的模板中使用。 注册全局指令 全局指令需要在 Vue 应用初始化之前注册,通…

vue快速实现拖拽指令

vue快速实现拖拽指令

基础拖拽指令实现 通过v-drag指令实现元素拖拽功能,核心是利用鼠标事件和CSS变换: Vue.directive('drag', { inserted(el) { el.style…

vue中指令实现原理

vue中指令实现原理

Vue 指令的实现原理 Vue 指令(Directives)是带有 v- 前缀的特殊属性,用于在 DOM 元素上应用一些特殊行为。Vue 指令的实现原理主要基于以下几个核心机制: 编译阶段解析指令…

vue指令的实现原理

vue指令的实现原理

Vue 指令的实现原理 Vue 指令是 Vue.js 提供的特殊属性,用于在 DOM 元素上添加特定行为。其核心实现原理涉及编译、绑定和更新机制。 编译阶段 Vue 在编译模板时,会解析所有指令(如…