当前位置:首页 > VUE

vue 指令实现

2026-03-06 23:19:21VUE

Vue 指令是 Vue.js 提供的特殊属性,用于在 DOM 元素上应用特定的行为。以下是一些常见 Vue 指令的实现方式和使用场景:

v-model

双向数据绑定指令,常用于表单元素。它将表单输入的值与 Vue 实例的数据属性绑定。

<input v-model="message" placeholder="edit me">
<p>Message is: {{ message }}</p>

v-bind

动态绑定一个或多个属性,或一个组件 prop 到表达式。可以简写为 :

<img v-bind:src="imageSrc">
<!-- 简写 -->
<img :src="imageSrc">

v-for

基于源数据多次渲染元素或模板块。必须使用特定的语法 item in items

<li v-for="item in items" :key="item.id">
  {{ item.text }}
</li>

v-if / v-else / v-else-if

条件渲染指令,根据表达式的真假值来有条件地渲染元素。

<div v-if="type === 'A'">A</div>
<div v-else-if="type === 'B'">B</div>
<div v-else>C</div>

v-show

根据表达式真假值切换元素的 display CSS 属性。

<h1 v-show="ok">Hello!</h1>

v-on

绑定事件监听器,可以简写为 @

<button v-on:click="doSomething">Click me</button>
<!-- 简写 -->
<button @click="doSomething">Click me</button>

v-text

更新元素的 textContent。与插值表达式 {{ }} 类似,但会覆盖元素内所有内容。

<span v-text="msg"></span>

v-html

更新元素的 innerHTML,用于输出真正的 HTML。注意防范 XSS 攻击。

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

v-pre

跳过这个元素和它的子元素的编译过程,显示原始 Mustache 标签。

<span v-pre>{{ this will not be compiled }}</span>

v-cloak

保持在元素上直到关联实例结束编译后自动移除,常用于解决初始化时的闪烁问题。

<div v-cloak>
  {{ message }}
</div>

v-once

只渲染元素和组件一次,随后的重新渲染会被跳过。

<span v-once>This will never change: {{ msg }}</span>

自定义指令

可以通过 Vue.directive 注册全局自定义指令,或在组件选项中通过 directives 注册局部指令。

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

使用方式:

vue 指令实现

<input v-focus>

以上指令覆盖了 Vue.js 中大部分常用场景,合理使用可以极大提升开发效率和代码可维护性。

标签: 指令vue
分享给朋友:

相关文章

前端vue登录功能实现

前端vue登录功能实现

Vue 登录功能实现步骤 创建登录表单组件 在 Vue 项目中创建一个登录组件,通常命名为 Login.vue。该组件包含用户名和密码输入框以及提交按钮。 <template> &l…

vue 指令实现

vue 指令实现

Vue 指令实现 Vue 指令是 Vue.js 提供的特殊属性,用于在 DOM 元素上添加特殊行为。指令以 v- 前缀开头,例如 v-model、v-if、v-for 等。以下是实现自定义指令和常用内…

vue computed 实现

vue computed 实现

computed 的基本用法 在 Vue 中,computed 用于声明计算属性,这些属性基于响应式依赖进行缓存。只有当依赖发生变化时,计算属性才会重新计算。 new Vue({ data: {…

vue实现modal

vue实现modal

Vue 实现 Modal 弹窗组件 使用 Vue 实现 Modal 弹窗组件可以通过多种方式,包括原生 Vue 组件、第三方库或自定义指令。以下是几种常见方法: 原生 Vue 组件实现 创建一个基础…

vue实现动画

vue实现动画

Vue 实现动画的方法 Vue 提供了多种方式来实现动画效果,包括内置的过渡系统、第三方动画库以及直接操作 CSS 或 JavaScript 动画。 使用 Vue 内置过渡系统 Vue 的 <…

vue 绑定实现

vue 绑定实现

Vue 绑定实现 Vue 提供了多种数据绑定的方式,包括文本插值、属性绑定、事件绑定、双向绑定等。以下是常见的绑定实现方法: 文本插值 使用双大括号 {{ }} 进行文本插值,将数据动态渲染到 DO…