当前位置:首页 > VUE

vue 指令实现

2026-01-12 10:25:06VUE

在 Vue.js 中,指令(Directives)是带有 v- 前缀的特殊属性,用于在 DOM 上应用响应式行为。以下是一些常用指令及其实现方式:

v-bind

动态绑定一个或多个属性到表达式。

<img v-bind:src="imageSrc" v-bind:alt="imageAlt">

简写形式:

<img :src="imageSrc" :alt="imageAlt">

v-model

在表单输入元素上创建双向数据绑定。

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

v-for

基于数组渲染列表。

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

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

条件渲染元素。

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

v-show

根据条件显示或隐藏元素(通过 CSS 的 display 属性)。

vue 指令实现

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

v-on

监听 DOM 事件并执行方法。

<button v-on:click="handleClick">Click me</button>

简写形式:

<button @click="handleClick">Click me</button>

v-text

更新元素的 textContent。

<span v-text="msg"></span>
<!-- 等同于 -->
<span>{{ msg }}</span>

v-html

更新元素的 innerHTML(注意 XSS 风险)。

vue 指令实现

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

v-pre

跳过这个元素和其子元素的编译。

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

v-cloak

保持在元素上直到关联实例结束编译(用于解决未编译模板闪现问题)。

[v-cloak] {
  display: none;
}
<div v-cloak>
  {{ message }}
</div>

v-once

只渲染元素和组件一次。

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

自定义指令

可以注册全局或局部自定义指令。

// 全局指令
Vue.directive('focus', {
  inserted: function (el) {
    el.focus()
  }
})

// 局部指令
directives: {
  focus: {
    inserted: function (el) {
      el.focus()
    }
  }
}

使用方式:

<input v-focus>

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

相关文章

vue实现简单的弹窗

vue实现简单的弹窗

使用 Vue 实现简单弹窗 组件基础结构 创建一个名为 Modal.vue 的组件文件,包含模板、脚本和样式部分: <template> <div class="modal-…

vue 动画 实现

vue 动画 实现

vue 动画实现方法 Vue 提供了多种方式实现动画效果,主要包括过渡动画和动态动画两类。 使用 <transition> 组件实现基础过渡 通过 Vue 内置的 <transit…

vue 组件实现

vue 组件实现

Vue 组件实现方法 单文件组件 (SFC) 使用 .vue 文件格式,包含模板、脚本和样式三部分: <template> <div class="example">{{…

vue 实现遮罩

vue 实现遮罩

Vue 实现遮罩层的方法 使用固定定位和透明背景 在Vue中实现遮罩层可以通过CSS固定定位结合透明背景色完成。创建一个全屏遮罩组件,利用position: fixed覆盖整个视窗。 <te…

vue jwt实现

vue jwt实现

Vue JWT 实现方法 安装依赖 确保项目中安装了 jsonwebtoken(后端)和 axios(前端)。若使用 Vue 3,可搭配 vue-router 和 pinia(或 vuex)管理状态。…

vue 实现vshow

vue 实现vshow

Vue 实现 v-show 在 Vue 中,v-show 是一个常用的指令,用于根据条件控制元素的显示或隐藏。与 v-if 不同,v-show 不会移除 DOM 元素,而是通过 CSS 的 displ…