当前位置:首页 > VUE

vue指令实现

2026-03-07 13:53:39VUE

在Vue中,指令(Directives)是带有v-前缀的特殊属性,用于在DOM元素上应用响应式行为。以下是常见的Vue指令实现方法及示例:

v-bind

用于动态绑定属性或组件prop到表达式。

<img v-bind:src="imageUrl" alt="动态图片">
<!-- 简写 -->
<img :src="imageUrl" alt="动态图片">

通过:简写可绑定任意属性,如:class:style等。

v-model

实现表单输入与应用状态的双向绑定。

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

支持修饰符如.lazy(触发change事件更新)、.number(自动转为数字类型)。

v-for

基于源数据渲染列表。

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

必须为每项提供唯一:key以提高渲染性能。

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

条件渲染元素。

vue指令实现

<div v-if="score >= 90">优秀</div>
<div v-else-if="score >= 60">及格</div>
<div v-else>不及格</div>

v-if是惰性的,条件为假时元素会被销毁;v-show则始终渲染仅切换CSS显示状态。

v-on

监听DOM事件并执行方法。

<button v-on:click="handleClick">点击</button>
<!-- 简写 -->
<button @click="handleClick">点击</button>

支持事件修饰符如.stop(阻止冒泡)、.prevent(阻止默认行为)。

v-text / v-html

更新元素内容。

vue指令实现

<span v-text="rawText"></span>
<div v-html="rawHtml"></div>

v-html会解析HTML字符串,需注意XSS风险。

v-pre / v-cloak

特殊用途指令。

<!-- 跳过编译 -->
<div v-pre>{{ 这里不编译 }}</div>

<!-- 避免未编译模板闪现 -->
<div v-cloak>{{ message }}</div>

v-cloak需配合CSS使用:[v-cloak] { display: none }

自定义指令

通过Vue.directive()注册全局指令:

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

使用方式:

<input v-focus>

钩子函数包括bindinsertedupdate等,可接收elbinding等参数。

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

相关文章

vue实现路由导航

vue实现路由导航

路由导航的实现方式 在Vue中,路由导航主要通过Vue Router实现。Vue Router是Vue.js官方的路由管理器,用于构建单页面应用(SPA)。 基本路由配置 安装Vue Router后…

vue登录逻辑的实现

vue登录逻辑的实现

Vue 登录逻辑实现 前端实现 创建登录组件 在 Vue 项目中创建一个登录组件,通常命名为 Login.vue。该组件包含表单元素,如用户名和密码输入框,以及提交按钮。 <template&…

vue实现画图

vue实现画图

Vue 实现画图功能 在 Vue 中实现画图功能通常需要结合 HTML5 的 <canvas> 元素或第三方库。以下是几种常见的方法: 使用原生 Canvas API 通过 Vue 直接…

vue实现login

vue实现login

Vue 实现登录功能 在 Vue 中实现登录功能通常需要以下几个步骤: 创建登录表单组件 在 Vue 项目中创建一个登录表单组件,包含用户名和密码输入框以及提交按钮。可以使用 Vue 的模板语法和双…

vue toast实现

vue toast实现

Vue Toast 实现方法 使用第三方库(推荐) 安装 vue-toastification 库,这是一个功能丰富且轻量级的 Vue Toast 插件。 npm install vue-toast…

vue源码实现

vue源码实现

Vue 源码实现解析 Vue.js 的核心实现可以分为响应式系统、虚拟 DOM、模板编译、组件化等几个关键部分。以下是对这些核心机制的详细解析。 响应式系统 Vue 的响应式系统基于 Object.…