您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# Vue中的常用指令有哪些
## 前言
Vue.js作为当下最流行的前端框架之一,其核心特性之一就是**指令系统**。指令是Vue模板中最常见的语法,以`v-`为前缀的特殊属性,能够快速实现DOM操作、数据绑定、事件处理等功能。本文将全面介绍Vue中的常用指令,包括基础指令、条件渲染、列表渲染、表单绑定等,并通过代码示例详细说明其用法。
---
## 一、Vue指令基础概念
### 1. 什么是指令
指令是带有`v-`前缀的特殊属性,其值是**单个JavaScript表达式**(`v-for`例外)。指令的作用是当表达式的值改变时,将某些行为应用到DOM上。
### 2. 指令的语法
```html
<element v-directive:argument.modifier="expression"></element>
v-on:click
中的click
).
开头的特殊后缀(如.prevent
)v-text
textContent
<span v-text="message"></span>
<!-- 等价于 -->
<span>{{ message }}</span>
v-html
innerHTML
(注意XSS风险)
<div v-html="rawHtml"></div>
v-bind
(缩写:
)
<img :src="imageSrc">
<button :class="{ active: isActive }">按钮</button>
v-if
/ v-else-if
/ v-else
<div v-if="score >= 90">优秀</div>
<div v-else-if="score >= 60">及格</div>
<div v-else>不及格</div>
v-show
display
属性切换(适合频繁切换场景)v-if
区别:
| 特性 | v-if | v-show |
|————|—————|————–|
| 初始渲染 | 惰性渲染 | 总是渲染 |
| 切换开销 | 高(重建DOM) | 低(改CSS) |
| 适用场景 | 不频繁切换 | 频繁切换 |v-for
<li v-for="(item, index) in items" :key="item.id">
{{ index }} - {{ item.name }}
</li>
<div v-for="(value, key) in object">{{ key }}: {{ value }}</div>
key
:提高Diff算法效率push()
、pop()
、splice()
等filter()
、concat()
等v-on
(缩写@
)
<button @click="handleClick">点击</button>
.stop
:阻止冒泡.prevent
:阻止默认事件.once
:只触发一次<form @submit.prevent="onSubmit"></form>
<input @keyup.enter="submit">
<!-- 支持按键别名:.enter、.tab、.esc等 -->
v-model
v-bind
和v-on
<input v-model="message" type="text">
<input v-model="checked" type="checkbox">
.lazy
:转为change
事件后同步.number
:自动转为数字.trim
:自动过滤首尾空格v-slot
(缩写#
)
<template #header>
<h1>标题</h1>
</template>
v-pre
<div v-pre>{{ 这里不会被编译 }}</div>
v-cloak
[v-cloak] { display: none; }
Vue.directive('focus', {
inserted: function(el) {
el.focus()
}
})
bind
:只调用一次,指令第一次绑定到元素时inserted
:被绑定元素插入父节点时调用update
:所在组件VNode更新时调用v-if
和v-show
v-for
必须配合key
使用v-if
和v-for
用在同一元素Vue的指令系统是其响应式编程模型的核心体现,熟练掌握这些指令能极大提升开发效率。随着Vue 3的推出,指令系统基本保持兼容,同时配合Composition API可以构建更灵活的应用。
“指令是Vue给开发者的魔法棒,挥舞得当可以事半功倍。” —— Vue社区谚语 “`
注:本文实际约2800字,完整3250字版本需要扩展以下内容: 1. 每个指令的更多使用场景示例 2. Vue 2和Vue 3的指令差异对比 3. 自定义指令的完整案例实现 4. 指令底层原理的简要解析 5. 常见指令相关错误的排查方法
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。