Chapter 02 Vue指令(上)

2024-08-23 16:20

本文主要是介绍Chapter 02 Vue指令(上),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

欢迎大家订阅【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>

在这里插入图片描述

这篇关于Chapter 02 Vue指令(上)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

html 滚动条滚动过快会留下边框线的解决方案

《html滚动条滚动过快会留下边框线的解决方案》:本文主要介绍了html滚动条滚动过快会留下边框线的解决方案,解决方法很简单,详细内容请阅读本文,希望能对你有所帮助... 滚动条滚动过快时,会留下边框线但其实大部分时候是这样的,没有多出边框线的滚动条滚动过快时留下边框线的问题通常与滚动条样式和滚动行

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv

使用Python和Tkinter实现html标签去除工具

《使用Python和Tkinter实现html标签去除工具》本文介绍用Python和Tkinter开发的HTML标签去除工具,支持去除HTML标签、转义实体并输出纯文本,提供图形界面操作及复制功能,需... 目录html 标签去除工具功能介绍创作过程1. 技术选型2. 核心实现逻辑3. 用户体验增强如何运行

CSS 样式表的四种应用方式及css注释的应用小结

《CSS样式表的四种应用方式及css注释的应用小结》:本文主要介绍了CSS样式表的四种应用方式及css注释的应用小结,本文通过实例代码给大家介绍的非常详细,详细内容请阅读本文,希望能对你有所帮助... 一、外部 css(推荐方式)定义:将 CSS 代码保存为独立的 .css 文件,通过 <link> 标签

使用Vue-ECharts实现数据可视化图表功能

《使用Vue-ECharts实现数据可视化图表功能》在前端开发中,经常会遇到需要展示数据可视化的需求,比如柱状图、折线图、饼图等,这类需求不仅要求我们准确地将数据呈现出来,还需要兼顾美观与交互体验,所... 目录前言为什么选择 vue-ECharts?1. 基于 ECharts,功能强大2. 更符合 Vue

Vue中插槽slot的使用示例详解

《Vue中插槽slot的使用示例详解》:本文主要介绍Vue中插槽slot的使用示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、插槽是什么二、插槽分类2.1 匿名插槽2.2 具名插槽2.3 作用域插槽三、插槽的基本使用3.1 匿名插槽

springboot+vue项目怎么解决跨域问题详解

《springboot+vue项目怎么解决跨域问题详解》:本文主要介绍springboot+vue项目怎么解决跨域问题的相关资料,包括前端代理、后端全局配置CORS、注解配置和Nginx反向代理,... 目录1. 前端代理(开发环境推荐)2. 后端全局配置 CORS(生产环境推荐)3. 后端注解配置(按接口

Vue 2 项目中配置 Tailwind CSS 和 Font Awesome 的最佳实践举例

《Vue2项目中配置TailwindCSS和FontAwesome的最佳实践举例》:本文主要介绍Vue2项目中配置TailwindCSS和FontAwesome的最... 目录vue 2 项目中配置 Tailwind css 和 Font Awesome 的最佳实践一、Tailwind CSS 配置1. 安

CSS3 布局样式及其应用举例

《CSS3布局样式及其应用举例》CSS3的布局特性为前端开发者提供了无限可能,无论是Flexbox的一维布局还是Grid的二维布局,它们都能够帮助开发者以更清晰、简洁的方式实现复杂的网页布局,本文给... 目录深入探讨 css3 布局样式及其应用引言一、CSS布局的历史与发展1.1 早期布局的局限性1.2

使用animation.css库快速实现CSS3旋转动画效果

《使用animation.css库快速实现CSS3旋转动画效果》随着Web技术的不断发展,动画效果已经成为了网页设计中不可或缺的一部分,本文将深入探讨animation.css的工作原理,如何使用以及... 目录1. css3动画技术简介2. animation.css库介绍2.1 animation.cs