Vue 常用指令详解(附代码实例)

news2025/1/15 12:59:55

Vue 常用指令详解

在本文中,我将详细的介绍 Vue.js 中常用的指令,并提供了相关实例代码来帮助更好地理解它们的用法。

文章目录

  • Vue 常用指令详解
    • 1. v-bind 指令
      • 1.1 概述
      • 1.2 语法
      • 1.3 参数说明
      • 1.4 完整示例代码
      • 解释
    • 2. v-model 指令
      • 2.1 概述
      • 2.2 语法
      • 2.3 参数说明
      • 2.4 完整示例代码
      • 解释
    • 3. v-if, v-else-if, v-else 指令
      • 3.1 概述
      • 3.2 语法
      • 3.3 参数说明
      • 3.4 完整示例代码
      • 解释
    • 4. v-for 指令
      • 4.1 概述
      • 4.2 语法
      • 4.3 参数说明
      • 4.4 完整示例代码
      • 解释
    • 5. v-show 指令
      • 5.1 概述
      • 5.2 语法
      • 5.3 参数说明
      • 5.4 完整示例代
      • 解释

1. v-bind 指令

1.1 概述

v-bind 指令用于在 Vue.js 应用中动态绑定 HTML 属性。它可以通过 JavaScript 数据模型来改变元素的属性值。

1.2 语法

v-bind:attributeName="dataProperty"

1.3 参数说明

  • attributeName: 例如 srchrefclass 等 HTML 属性。
  • dataProperty: 在 Vue 实例中定义的数据属性,可以是字符串、数字或对象。

1.4 完整示例代码

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>v-bind 示例</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2"></script>
</head>
<body>
    <div id="app">
        <img v-bind:src="imageSrc" alt="Vue Logo">
        <h1 v-bind:class="headerClass">欢迎使用 Vue!</h1>
    </div>

    <script>
        new Vue({
            el: '#app',  // 绑定 Vue 实例到 id 为 'app' 的 div 元素
            data: {
                imageSrc: 'https://vuejs.org/images/logo.png',  // 设置要显示的图片地址
                headerClass: 'header'  // 设置要使用的 CSS 类
            }
        });
    </script>

    <style>
        .header {
            color: blue;  // 设置 header 类的文本颜色为蓝色
        }
    </style>
</body>
</html>

解释

  • HTML 结构: 使用 img 标签动态绑定 src 属性显示 Vue 的 logo,并绑定 h1 标签的 class 属性以应用 CSS 样式。
  • Vue 实例: Vue 实例绑定到 DOM 元素并提供数据来源。
  • 样式: 自定义 header 类的样式,使文本呈现蓝色。

2. v-model 指令

2.1 概述

v-model 指令用于在表单元素(如 inputtextareaselect)和 Vue 实例之间建立双向数据绑定。

2.2 语法

v-model="dataProperty"

2.3 参数说明

  • dataProperty: 绑定到输入元素的值的 Vue 实例中的数据属性。

2.4 完整示例代码

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>v-model 示例</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2"></script>
</head>
<body>
    <div id="app">
        <input v-model="username" placeholder="请输入用户名">
        <p>你的用户名是: {{ username }}</p>
    </div>

    <script>
        new Vue({
            el: '#app',
            data: {
                username: ''  // 定义一个用户名的初始值为空
            }
        });
    </script>
</body>
</html>

解释

  • HTML 部分: 一个输入框用于接受用户的输入,绑定变量 username,同时展示输入的用户名。
  • 双向绑定: 当用户在输入框中输入内容时,username 的值也会实时更新,反之亦然。

3. v-if, v-else-if, v-else 指令

3.1 概述

通过 v-ifv-else-ifv-else,可以根据条件渲染不同的 DOM 元素。

3.2 语法

v-if="condition"
v-else-if="condition"
v-else

3.3 参数说明

  • condition: 一个布尔值的 JavaScript 表达式,用于判断是否渲染特定内容。

3.4 完整示例代码

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">  
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>v-if 示例</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2"></script>
</head>
<body>
    <div id="app">
        <p v-if="isLoggedIn">欢迎回来, {{ username }}!</p>
        <p v-else-if="isGuest">你好, 游客!</p>
        <p v-else>请登录!</p>
        <button @click="toggleLogin">切换登录状态</button>
    </div>

    <script>
        new Vue({
            el: '#app',
            data: {
                isLoggedIn: false,  // 用户初始状态为未登录
                isGuest: true,      // 用户初始状态为游客
                username: '小明'    // 用户名
            },
            methods: {
                toggleLogin() {
                    this.isLoggedIn = !this.isLoggedIn;  // 切换登录状态
                    this.isGuest = !this.isGuest;        // 切换游客状态
                }
            }
        });
    </script>
</body>
</html>

解释

  • HTML 部分: 根据用户的登录状态显示不同的信息。若用户已登录则显示欢迎信息;若为游客则显示访客信息;否则提醒用户登录。
  • Vue 实例: 定义了用户的登录状态和用户名。通过一个按钮可以切换登录状态,按钮的点击会触发 toggleLogin 方法,更新界面内容。

4. v-for 指令

4.1 概述

v-for 指令用于在数组或对象上渲染动态列表,能够生成多个相同类型的 DOM 元素。

4.2 语法

v-for="(item, index) in items"

4.3 参数说明

  • item: 当前循环迭代的元素名称,可以自定义。
  • index: 当前元素的索引(可选)。
  • items: 需要遍历的数组或对象。

4.4 完整示例代码

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>v-for 示例</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2"></script>
</head>
<body>
    <div id="app">
        <ul>
            <li v-for="(item, index) in items" :key="item.id">{{ index + 1 }}. {{ item.name }}</li>
        </ul>
    </div>

    <script>
        new Vue({
            el: '#app',
            data: {
                items: [  // 定义一个数组包含多个水果信息
                    { id: 1, name: '苹果' },
                    { id: 2, name: '香蕉' },
                    { id: 3, name: '橘子' }
                ]
            }
        });
    </script>
</body>
</html>

解释

  • HTML 结构: 使用 ulli 标签来渲染出一个水果的列表。v-for 循环迭代 items 数组,为每个水果生成一个列表项。
  • :key 属性: 为每个 li 提供一个 key 属性,使 Vue 能够更高效地更新和渲染列表。

5. v-show 指令

5.1 概述

v-show 指令通过修改元素的 CSS display 属性来控制元素的显示或隐藏。与 v-if 不同,v-show 在切换显示状态时不会销毁和重建 DOM 元素。

5.2 语法

v-show="condition"

5.3 参数说明

  • condition: 返回布尔值的 JavaScript 表达式,用于决定元素是否显示。

5.4 完整示例代

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>v-show 示例</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2"></script>
</head>
<body>
    <div id="app">
        <button @click="toggle">切换显示</button>
        <p v-show="isVisible">这个文本可以显示或隐藏</p>
    </div>

    <script>
        new Vue({
            el: '#app',
            data: {
                isVisible: true  // 初始状态为可见
            },
            methods: {
                toggle() {
                    this.isVisible = !this.isVisible;  // 切换可见状态
                }
            }
        });
    </script>
</body>
</html>

解释

  • HTML 部分: 一个按钮用于切换文本的显示状态。在按下按钮后,使用 v-show 指令决定 p 标签是否可见。
  • Vue 实例: 初始状态下,文本是可见的,点击按钮时会切换 isVisible 的值,从而影响文本的显隐程度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2276093.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【硬件介绍】Type-C接口详解

一、Type-C接口概述 Type-C接口特点&#xff1a;以其独特的扁头设计和无需区分正反两面的便捷性而广受欢迎。这种设计大大提高了用户的使用体验&#xff0c;避免了传统USB接口需要多次尝试才能正确插入的问题。Type-C接口内部结构&#xff1a;内部上下两排引脚的设计虽然可能不…

二、BIO、NIO编程与直接内存、零拷贝

一、网络通信 1、什么是socket&#xff1f; Socket 是应用层与 TCP/IP 协议族通信的中间软件抽象层&#xff0c;它是一组接口&#xff0c;一般由操作 系统提供。客户端连接上一个服务端&#xff0c;就会在客户端中产生一个 socket 接口实例&#xff0c;服务端每接受 一个客户端…

Android车机DIY开发之软件篇(九)默认应用和服务修改

Android车机DIY开发之软件篇(九)默认应用和服务修改 默认应用位置 ~/packages/apps/Car 增加APP 1.增加 XXXX.app 和Android.mk 2. 修改~/build/make/target/product/handheld_system_ext.mk 默认服务位置 ~/frameworks/base/services/java/com/android/server 查看服务列…

【Rust】错误处理机制

目录 思维导图 引言 一、错误处理的重要性 1.1 软件中的错误普遍存在 1.2 编译时错误处理要求 二、错误的分类 2.1 可恢复错误&#xff08;Recoverable Errors&#xff09; 2.2 不可恢复错误&#xff08;Unrecoverable Errors&#xff09; 三、Rust 的错误处理机制 3…

DDD - 微服务设计与领域驱动设计实战(上)_统一建模语言及事件风暴会议

文章目录 Pre概述业务流程需求分析的困境统一语言建模事件风暴会议什么是事件风暴&#xff08;Event Storming&#xff09;事件风暴会议 总结 Pre DDD - 软件退化原因及案例分析 DDD - 如何运用 DDD 进行软件设计 DDD - 如何运用 DDD 进行数据库设计 DDD - 服务、实体与值对…

用HTML + CSS实现太极图

目录 一、效果图 二、实现思路 三、完整代码 四、总结 一、效果图 如图所示&#xff0c;太极图一半为黑色&#xff08;代表阴&#xff09;&#xff0c;另一半为白色&#xff08;代表阳&#xff09;。这两部分相互环绕&#xff0c;形成一种流动的、旋转的感觉。 二、实现思…

Apache Hadoop YARN框架概述

一、YARN产生和发展简史 1.1背景 数据、程序、运算资源&#xff08;内存、CPU&#xff09;三者组在一起&#xff0c;才能完成数据的计算处理过程。在单机环境下&#xff0c;三者之间协调配合不是太大问题。为了应对海量数据的处理场景&#xff0c;Hadoop软件出现并提供了分布…

一个个顺序挨着来 - 责任链模式(Chain of Responsibility Pattern)

责任链模式&#xff08;Chain of Responsibility Pattern&#xff09; 责任链模式&#xff08;Chain of Responsibility Pattern&#xff09;责任链模式&#xff08;Chain of Responsibility Pattern&#xff09;概述责任链结构图责任链模式概述责任链模式涉及的角色 talk is c…

.NET framework、Core和Standard都是什么?

对于这些概念一直没有深入去理解&#xff0c;以至于经过.net这几年的发展进化&#xff0c;概念越来越多&#xff0c;越来越梳理不容易理解了。内心深处存在思想上的懒惰&#xff0c;以为自己专注于Unity开发就好&#xff0c;这些并不属于核心范畴&#xff0c;所以对这些概念总是…

【Java回顾】Day5 并发基础|并发关键字|JUC全局观|JUC原子类

JUC全称java.util.concurrent 处理并发的工具包(线程管理、同步、协调) 一.并发基础 多线程要解决什么问题&#xff1f;本质是什么&#xff1f; CPU、内存、I/O的速度是有极大差异的&#xff0c;为了合理利用CPU的高性能&#xff0c;平衡三者的速度差异&#xff0c;解决办法…

android framework.jar 在应用中使用

在开发APP中&#xff0c;有时会使用系统提供的framework.jar 来替代 android.jar, 在gradle中配置如下&#xff1a; 放置framework.jar 依赖配置 3 优先级配置 gradle.projectsEvaluated {tasks.withType(JavaCompile) {Set<File> fileSet options.bootstrapClasspat…

CHAIN OF RESPONSIBILITY(职责链)—对象行为型模式

1. 意图 使多个对象都有机会处理请求&#xff0c;从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链&#xff0c;并沿着这条链传递该请求&#xff0c;直到有一个对象处理它为止。 2. 动机 考虑一个图形用户界面中的上下文有关的帮助机制。用户在界面的任一部分…

Java高频面试之SE-11

hello啊&#xff0c;各位观众姥爷们&#xff01;&#xff01;&#xff01;本牛马baby今天又来了&#xff01;哈哈哈哈哈嗝&#x1f436; Java中是引用传递还是值传递&#xff1f; 在 Java 中&#xff0c;方法参数传递是通过 值传递 的方式实现的&#xff0c;但这可能会引起一…

VsCode对Arduino的开发配置

ps&#xff1a;我的情况是在对esp32进行编译、烧录时&#xff0c;找不到按钮&#xff0c;无法识别Arduino文件&#xff0c;适合已经有ini文件的情况。 1.在vscode中安装拓展 2.打开设置&#xff0c;点击右上角&#xff0c;转到settings.json文件 3.复制以下代码并保存 {"…

Apache Hop从入门到精通 第一课 揭开Apache Hop神秘面纱

一、Apache Hop是什么&#xff1f; 1、Apache Hop&#xff0c;简称Hop&#xff0c;全称为Hop Orchestration Platform&#xff0c;即Hop 工作编排平台&#xff0c;是一个数据编排和数据工程平台&#xff0c;旨在促进数据和元数据编排的所有方面。Hop让你专注于你想要解决的问题…

模拟SpringIOCAOP

一、IOC容器 Ioc负责创建&#xff0c;管理实例&#xff0c;向使用者提供实例&#xff0c;ioc就像一个工厂一样&#xff0c;称之为Bean工厂 1.1 Bean工厂的作用 先分析一下Bean工厂应具备的行为 1、需要一个获取实例的方法&#xff0c;根据一个参数获取对应的实例 getBean(…

基于ILI9341液晶屏+STM32U5单片的显示试验

试验要求&#xff1a; 1、通过串口&#xff0c;下发两个命令 STR和PIC&#xff1b; 2、STR模式&#xff1a; &#xff08;1&#xff09;串口输入什么&#xff0c;屏幕上显示什么 &#xff08;2&#xff09;如果屏幕满&#xff0c;自动下滚 &#xff08;3&#xff09;输入回车&a…

Elasticsearch:向量数据库基础设施类别的兴衰

过去几年&#xff0c;我一直在观察嵌入技术如何从大型科技公司的 “秘密武器” 转变为日常开发人员工具。接下来发生的事情 —— 向量数据库淘金热、RAG 炒作周期以及最终的修正 —— 教会了我们关于新技术如何在更广泛的生态系统中找到一席之地的宝贵经验。 更多有关向量搜索…

《系统爆破:MD5易破,后台登录可爆破?》

声明&#xff1a;笔记的只是方便各位师傅学习知识&#xff0c;以下代码、网站只涉及学习内容&#xff0c;其他的都与本人无关&#xff0c;切莫逾越法律红线&#xff0c;否则后果自负。 爆破Sales系统 一、爆破MD5 场景&#xff1a;已知MD5的加密字符串&#xff0c;如何得知明…

《Spring Framework实战》14:4.1.4.5.自动装配合作者

欢迎观看《Spring Framework实战》视频教程 自动装配合作者 Spring容器可以自动连接协作bean之间的关系。您可以通过检查ApplicationContext的内容&#xff0c;让Spring自动为您的bean解析协作者&#xff08;其他bean&#xff09;。自动装配具有以下优点&#xff1a; 自动装配…