Chapter 02 Vue指令(上)

news2024/9/28 13:28:55

欢迎大家订阅【Vue2+Vue3】入门到实践 专栏,开启你的 Vue 学习之旅!

文章目录

  • 前言
  • 一、v-text指令
  • 二、v-html指令
  • 三、v-show指令
  • 四、v-if指令
  • 五、v-else指令
  • 六、v-else-if指令


前言

在 Vue.js 中,指令是带有 v- 前缀的特殊属性,不同属性对应不同的功能。通过学习不同的指令,我们能够灵活应对多种业务场景的需求。本章详细讲解了一些基本的 Vue 指令,包括 v-text、v-html、v-show、v-if、v-else 以及 v-else-if 指令。


本篇文章参考黑马程序员

一、v-text指令

①作用:更新元素的文本内容

②语法:v-text="文本内容"

③注意事项:v-text 直接操作元素的 textContent 属性,会将元素内的所有文本内容替换为绑定的值,而不保留原来已经存在的文本内容或其他子元素。使用差值表达式{{}}可以替换指定内容。

【示例】

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>v-text指令</title>
</head>
<!--  v-text指令的作用:更新元素的文本内容 -->
<body>
    <div id="app">
        <!-- v-text指令会替换<h2>元素原本的文本内容 -->
            <!-- 内部支持写表达式 使用+符号来进行字符串的拼接操作-->
        <h2 v-text="message+'!'">深圳</h2>
        <h2 v-text="info+'!'">深圳</h2>
        <!--  默认写法会替换全部内容,使用差值表达式{{}}可以替换指定内容 -->
        <h2>{{ message +'!'}}深圳</h2>
    </div>
    <!-- 开发环境版本,包含了有帮助的命令行警告 -->
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <script>
        var app = new Vue({
            el:"#app",
            data:{
                message:"Hello",
                info:"World"
            }
        })
    </script>
</body>

</html>

运行结果:
在这里插入图片描述

二、v-html指令

①作用:更新元素的 innerHTML,可插入 HTML 内容

②语法:v-html = " 表达式 "

【示例】
插值表达式并不具备解析标签的能力
差值表达式{{}}会将数据解释为纯文本,而不是 HTML。
在这里插入图片描述
若想插入 HTML,需要使用 v-html 指令。
在这里插入图片描述
点击“Vue 官网”即可跳转至 Vue 的官方网站
在这里插入图片描述

解析文本使用v-text
解析html结构使用v-html

三、v-show指令

①作用:基于表达式值的真假性来改变元素的可见性

②语法:v-show = "表达式"
(表达式值为true则显示,值为false则隐藏)

③原理:切换元素的 display 属性控制显示隐藏

④场景:频繁切换显示隐藏的场景

【示例】
表达式值为true时,元素正常显示。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>v-show指令</title>
  <style>
    .box {
      width: 200px;
      height: 100px;
      line-height: 100px;
      margin: 10px;
      border: 3px solid #000;
      text-align: center;
      border-radius: 5px;
      box-shadow: 2px 2px 2px #ccc;
    }
  </style>
</head>
<body>

  <div id="app">
    <div v-show=flag class="box">我是v-show控制的盒子</div> 
  </div>
  
  <script src="./vue.js"></script>
  <script>
    const app = new Vue({
      el: '#app',
      data: {
        flag: true
      }
    })
  </script>

</body>
</html>

运行结果:
在这里插入图片描述
表达式值为false时,元素的 display 属性会被设置为 none,从而使该元素隐藏。

<script>
  const app = new Vue({
    el: '#app',
    data: {
      flag: true
    }
  })
</script>

运行结果:
在这里插入图片描述

四、v-if指令

①作用:基于表达式值的真假性,来条件性地渲染元素或者模板片段。

②语法: v-if = "表达式"
(表达式值为true则显示,值为false则隐藏)

③原理:基于条件判断创建或移除元素节点

④场景:要么显示,要么隐藏,不频繁切换的场景

【示例】
表达式值为true时:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>v-if指令</title>
  <style>
    .box {
      width: 200px;
      height: 100px;
      line-height: 100px;
      margin: 10px;
      border: 3px solid #000;
      text-align: center;
      border-radius: 5px;
      box-shadow: 2px 2px 2px #ccc;
    }
  </style>
</head>
<body>

  <div id="app">
    <div v-if=flag class="box">我是v-if控制的盒子</div>
  </div>
  
  <script src="./vue.js"></script>
  <script>
    const app = new Vue({
      el: '#app',
      data: {
        flag: true
      }
    })
  </script>

</body>
</html>

运行结果:
在这里插入图片描述

表达式值为false时:

<script>
  const app = new Vue({
    el: '#app',
    data: {
      flag: true
    }
  })
</script>

运行结果:
在这里插入图片描述
v-showv-if的主要区别:

  • v-show仅仅切换 display 属性,所以切换速度快,但在 DOM 中总是存在该元素,只是改变了样式。使用简单、开销小,适合频繁切换显示的场景。
  • v-if则是根据条件动态地添加或移除 DOM 元素。在条件为 false 时,元素会被完全移除,适合不经常切换显示的情况,但切换相对较慢,因为每次都要进行 DOM 操作。

五、v-else指令

①作用:辅助 v-if 进行判断渲染

②语法: v-else"

③注意事项: 需紧挨着 v-if 一起使用

【示例】

  <div id="app">
    <p v-if="gender==1">性别:男</p>
    <p v-else>性别:女</p>
  </div>
  
  <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  <script>
    const app = new Vue({
      el: '#app',
      data: {
        gender:1
      }
    })
  </script>

</body>

运行结果:
在这里插入图片描述
<p v-if="gender==1">性别:男</p>注释掉后:

<div id="app">
    <!-- <p v-if="gender==1">性别:男</p> -->
    <p v-else>性别:女</p>
  </div>

运行结果:
在这里插入图片描述
每个 v-else 都应该紧跟着一个对应的 v-if 或 v-else-if,否则就会报错,提示 v-else 没有对应的 v-if。

六、v-else-if指令

①作用:辅助 v-if 进行判断渲染

②语法: v-else-if = "表达式"

【示例】

<body>
  
  <div id="app">
    <p v-if="gender==1">性别:男</p>
    <p v-else>性别:女</p>
    <hr>
    <p v-if="score>=90">成绩评定A:奖励电脑一台</p>
    <p v-else-if="score>=90">成绩评定B:奖励周末郊游</p>
    <p v-else-if="score>=90">成绩评定C:奖励零食礼包</p>
    <p v-else="score>=90">成绩评定D:惩罚一周不能玩手机</p>
  </div>
  
  <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  <script>

    const app = new Vue({
      el: '#app',
      data: {
        gender:1,
        score:88
      }
    })
  </script>

</body>

在这里插入图片描述

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

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

相关文章

【大数据】数据仓库的定义、数据模型及其建设与设计

1. 数据仓库 1.1 定义 数据仓库不是数据的简单堆积&#xff0c;而是从大量的事务型数据库中抽取数据&#xff0c;并将其清理、转换为新的存储格式,即为决策目标把数据聚合在一种特殊的格式中。公认的数据仓库之父 W.H. Inmon 将其定义为&#xff1a;“数据仓库是支持管理决策…

【秋招笔试】8.19蔚来秋招-三语言题解

🍭 大家好这里是 春秋招笔试突围,一起备战大厂笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 编程一对一辅导 ✨ 本系列打算持续跟新 春秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 🍒 本专栏已收…

git submodule

文章目录 环境准备用法添加子模块添加b添加c提交总结 其它用户获取子模块其它总结 更新子模块内容方式1&#xff1a;独立更新其它 方式2&#xff1a;在主模块嵌套下更新总结 总结参考 写的有点乱&#xff0c;凑合理解一下吧。另外常用命令总结一下&#xff1a; git submodule …

开发者空间实践指导:基于华为云3大PaaS主流服务轻松实现文字转换语音

案例简介 开发者将在云主机中&#xff0c;基于CodeArts API设计语音合成接口&#xff0c;基于API Explorer调试接口&#xff0c;并利用CodeArts IDE实现数据流转换为音频。在此过程中&#xff0c;开发者可体验API设计、开发、调试等全生命周期&#xff0c;对华为云产品API体系…

vue文件打包后怎么运行

找到打包后的文件 并在此处打开cmd控制台 输入 npm run serve 按住" ctrl " 再点击网址及可访问。 ------------------------------

代码行数计数器

做了个记录代码函数的小程序&#xff0c;后缀名记得设置为.pyw&#xff0c;如果你装了python的话可以直接拿来用&#xff0c;免费自取。 功能说明&#xff1a; 1.记录总行数、当前行数、目标行数三个值 2.具有进度条功能 3.行数的多少能激发不同的反馈&#xff0c;如great&am…

基于分数Talbot效应的阵列光学涡旋产生matlab模拟与仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于分数Talbot效应的阵列光学涡旋产生matlab模拟与仿真&#xff0c;分别测试正方形&#xff0c;旋转正方形以及六边形三种阵列形状下的光学涡旋。 2.测试软件版…

(论文研读)解决transform训练的不稳定性问题:SAMformer(时序预测)

论文链接&#xff1a;https://arxiv.org/abs/2402.10198 作者团队&#xff1a;华为诺亚方舟实验室&#xff08;华为巴黎研究中心&#xff09;&#xff0c;Laboratory of Informatics Paris Descartes (LIPADE) 巴黎笛卡尔大学&#xff08;第五大学&#xff09;信息学实验室 文…

【笔记篇】Davinci Configurator SomeIpXf模块

目录 1 简介1.1 架构概览2 功能描述2.1 特性2.2 初始化2.3 状态机2.4 主函数2.5 故障处理3 集成4 API描述5 配置1 简介 本文主要描述了AUTOSAR SomeIpXf模块的功能。 SomeIpXf主要用途是对数据进行SOME/IP格式的序列化和反序列化。 1.1 架构概览 SomeIpXf在AUTOSAR软件架构…

环绕音效是什么意思,电脑环绕音效怎么开

Boom 3D是一款专业的音效增强软件&#xff0c;它拥有先进的音效处理技术和丰富的音效设置选项&#xff0c;可以为用户打造出高度定制化的音频体验&#xff0c;Boom 3D还拥有简洁直观的界面&#xff0c;操作简单易懂&#xff0c;即使是音频技术的新手也能轻松上手。本篇文章就将…

Mybatis实现员工管理系统

文章目录 1.案例需求2.编程思路3.案例源码4.小结 1.案例需求 在上次做的父子模块的maven以及Ajax实现人工管理系统的基础上使用Mybatis实现员工管理系统的增删改查&#xff0c;具体运行效果如下&#xff1a; 2.编程思路 Mybatis框架的一般执行流程&#xff1a; 创建MyBati…

基于改进字典的大数据多维分析加速实践

一、背景 OLAP场景是大数据应用中非常重要的一环&#xff0c;能够快速、灵活地满足业务各种分析需求&#xff0c;提供复杂的分析操作和决策支持。B站主流湖仓使用Iceberg存储&#xff0c;通过建表优化可以实现常规千万级的指标统计秒级查询&#xff0c;这样就能快速搭建可视化报…

WRF输出结果的可视化展示与分析:以风速为例

1.前言 天气研究与预报 (WRF) 模型是一种功能强大的数值天气预报系统&#xff0c;用于模拟各种尺度的大气现象。WRF 生成大量输出数据&#xff0c;可为气象和气候研究、天气预报和环境管理提供宝贵信息。 WRF 输出数据通常存储在 netCDF 文件中&#xff0c;其中包含具有不同单位…

AI生成PPT怎么用?5款AI PPT工具助你轻松制作演示文稿

当你站在山西应县木塔之下&#xff0c;仰望这座千年古塔的雄伟与震撼&#xff0c;心中不禁涌起一股对历史与建筑艺术的敬畏之情。 想象一下&#xff0c;如果将这份震撼与敬仰融入到你的演示文稿中&#xff0c;那将是多么引人入胜的体验。而这一切&#xff0c;只需借助AI生成PP…

Kubernetes 运维工程师必备:K8s 基础面试题精编(三)

Kubernetes 运维工程师必备:K8s 基础面试题精编(三) 1. 在Kubernetes集群中如何查看Pod的日志?2. 如何将一个已经部署的应用程序从一个命名空间迁移到另一个命名空间?3. 如何更新Kubernetes集群中的应用程序镜像版本?4. 如何通过Kubernetes进行自动扩容?5. 如何手动扩容…

震惊!!大模型玩转JS逆向

不知道大家有没有被JS代码混淆折磨过&#xff0c;我之前搞爬虫的时候&#xff0c;也经常被OB代码混淆搞到心态崩溃&#xff0c;但是自从接触了大模型&#xff0c;腰不疼了&#xff0c;腿不酸了&#xff0c;OB代码直接交给大模型&#xff0c;简直不要太爽 这是一段经过OB混淆之…

盘点12个国内外主流CRM系统,哪一个能免费试用?

客户关系管理&#xff08;CRM&#xff09;系统已成为企业成功的关键工具。它们不仅帮助企业改善客户关系&#xff0c;还提高了销售效率和业务分析能力。在众多选择中&#xff0c;我们特意盘点了12个国内外主流的CRM系统&#xff0c;从地位、业务应用以及特点三方面进行解析&…

车牌号字符检测系统源码分享 # [一条龙教学YOLOV8标注好的数据集一键训练_70+全套改进创新点发刊_Web前端展示]

车牌号字符检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 研究背景与意义 随着智能交通系统的快速发展&#xff0c;车牌号字…

代码随想录算法训练营第 50 天 |98. 所有可达路径

代码随想录算法训练营 Day50 代码随想录算法训练营第 50 天 |98. 所有可达路径 目录 代码随想录算法训练营前言LeetCode98. 所有可达路径 一、图论基础概念1、图的种类2、度3、连通性&#xff1a;节点的连通情况4、图的构造5、图的遍历方式 二、深度优先搜索1、深度优先搜索的…

最全诗词近10万诗词大全ACCESS\EXCEL数据库

其实破解弄到这个数据库我没有多少喜悦&#xff0c;原因是我已有的一些诗词比如全唐诗、全宋词等加起来的话也差不多这个数&#xff0c;但是因为这个数据库是完整破解的&#xff0c;比自己用已有的诗词数据库整合来说更加的好&#xff1b; 分类情况统计&#xff1a;汉代诗词&am…