当前位置:首页 > 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实现多选联动的方法 使用v-model绑定数组 在Vue中,可以通过v-model绑定一个数组来实现多选联动。当复选框被选中或取消选中时,数组会自动更新。 <template>…

vue实现横向导航

vue实现横向导航

vue实现横向导航的方法 使用Flex布局实现横向导航 在Vue中可以通过Flex布局快速实现横向导航。创建一个组件,使用display: flex和flex-direction: row属性使导航项…

vue实现点击页面切换

vue实现点击页面切换

实现点击页面切换功能 在Vue中实现点击页面切换功能,可以通过路由跳转或组件动态渲染两种方式完成。以下是具体实现方法: 使用Vue Router实现页面跳转 安装Vue Router后,在项目中…

vue 移动端实现签名

vue 移动端实现签名

Vue 移动端签名实现方法 在移动端实现签名功能,可以通过HTML5的Canvas结合触摸事件完成。以下是具体实现步骤: 使用Canvas绘制签名 安装vue-signature-pad插件或直…

vue怎么实现数据检测

vue怎么实现数据检测

Vue 数据检测的实现方式 Vue 通过响应式系统实现数据检测,核心机制基于 Object.defineProperty(Vue 2)或 Proxy(Vue 3)。以下是具体实现方法: 基于 Vue…

vue实现本地数据存储

vue实现本地数据存储

使用 localStorage 或 sessionStorage Vue 中可以直接调用浏览器提供的 localStorage 或 sessionStorage API 进行数据存储。localSto…