前端技术学习第九讲:VUE基础语法---VUE常用指令

news2024/9/24 7:24:02

VUE常用指令

在VUE学习中,通常使用相关指令使VUE对象中的内容与网页进行挂载绑定,是我们的数据与视图之间产生关联,完成渐进式动态效果。VUE指令都会以“v-”开头。

指令名描述
v-text将文本内容挂载到页面元素中
v-html将html代码展示到页面元素中
v-bind将内容解析成为js,绑定至页面元素中,可以是内容,也可以是属性
v-if根据判断结果控制内容展示
v-else不能单独使用,一般与v-if一起使用
v-else-if与v-if一起使用,组成多条件结果操作
v-for循环多组内容
v-on将方法挂载到页面元素中,具体方法参见JavaScript方法
v-model将数据与元素进行双向绑定
v-show对内容进行展示,也可以通过判定控制内容展示,相当于“display” 属性

一、v-text和v-html

v-text:将文字内容绑定到页面元素中,在某种情况下与{{}}插值表达式相似,但{{}}灵活一些,v-text更亲和元素
v-html:将Html代码绑定到页面元素中,{{}}插值表达式和v-text无法解析Html代码,只会原样展示,而v-html能够解析Html内容

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<div id="app">
			<!-- {{context}} -->
			<p v-html="context"></p>
			<p v-text="name"></p>
			<p v-text="age"></p>
			<p v-text="sex"></p>
		</div>
		<script type="text/javascript">
			const vue=new Vue({
				el:'#app',
				data:{
					name:'张三',
					age:18,
					sex:'男',
					context:'<h1>个人信息</h1>'
				}
			})
		</script>
	</body>
</html>

在这里插入图片描述

二、v-bind

v-bind:可以将内容绑定到属性值中,将绑定的内容解析成为js,方便获取内容或属性值,v-bind可以直接简写成为“:属性”

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<div id="app">
			<!-- {{context}} -->
			<p v-html="context"></p>
			<p v-text="name"></p>
			<p v-text="age"></p>
			<p v-text="sex"></p>
			<img v-bind:src="img" v-bind:width="width" :height="height"/>
		</div>
		<script type="text/javascript">
			const vue=new Vue({
				el:'#app',
				data:{
					name:'张三',
					age:18,
					sex:'男',
					context:'<h1>个人信息</h1>',
					img:'img/1.png',
					width:'100px',
					height:'100px'
				}
			})
		</script>
	</body>
</html>

在这里插入图片描述

三、v-if,v-else,v-else-if

这三组指令其实可以视作一类指令,是对内容进行判定。**注意:**判定条件之间要相邻,否则不足以形成一个合理的判定闭环

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<div id="app">
			<!-- {{context}} -->
			<p v-html="context"></p>
			<p>
				姓名:{{name}}
				年龄:{{age}}
				性别:{{sex}}
				成长阶段:
				<strong v-if="age<18">青少年</strong>
				<strong v-else-if="age>=18&&age<=35">青年</strong>
				<strong v-else-if="age>35&&age<=60">中年</strong>
				<strong v-else>老年</strong>
			</p>
			<!-- <p v-text="name"></p>
			<p v-text="age"></p>
			<p v-text="sex"></p> -->
			<img v-bind:src="img" v-bind:width="width" :height="height"/>
		</div>
		<script type="text/javascript">
			const vue=new Vue({
				el:'#app',
				data:{
					name:'张三',
					age:19,
					sex:'男',
					context:'<h1>个人信息</h1>',
					img:'img/1.png',
					width:'100px',
					height:'100px'
				}
			})
		</script>
	</body>
</html>

在这里插入图片描述

四、v-for

v-for指令,适用于循环操作数据内容,在数据中,多组内容会以数组的形式进行存储,我们在实现前后端分离项目时,也经常遇见多组内容,需要将这些内容渲染到页面中

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<div id="app">
			<h1>{{title}}</h1>
			<table border="" cellspacing="" cellpadding="">
				<tr>
					<th>姓名</th>
					<th>年龄</th>
					<th>性别</th>
				</tr>
				<tr v-for="l in list" >
					<td>{{l.name}}</td>
					<td>{{l.age}}</td>
					<td>{{l.sex}}</td>
				</tr>
			</table>
		</div>
		<script type="text/javascript">
			new Vue({
				el:'#app',
				data:{
					title:'个人信息',
					list:[
						{name:'张三',age:20,sex:'男'},
						{name:'李四',age:23,sex:'女'},
						{name:'王五',age:31,sex:'女'},
						{name:'赵六',age:17,sex:'男'},
					]
				}
			})
		</script>
	</body>
</html>

在这里插入图片描述注意 : 永远不要把v-if 和 v-for 同时用在一个元素上,因为v-for的优先级高于v-if,当v-if去判断条件时,v-for已经遍历结束,如果确实需要判断条件再渲染,那么,可以先把数据处理好,再遍历处理好的数据

五、v-on

v-on指令,适用于向页面组件中绑定可以执行的方法

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<div id="app">
			<h1>{{mess}}</h1>
			<ul>
				<li v-for="l in list">
					{{l}}
				</li>
			</ul>
			<ul>
				<li v-for="u in user">
					{{u.name}}---{{u.age}}---{{u.sex}}
				</li>
			</ul>
			<h1 v-on:click="show1()">我是一级标题,点击我会触发特殊效果</h1>
			<h2 @dblclick="show2()">我是二级标题,点击我会触发特殊效果</h2>
		</div>
		<script type="text/javascript">
			const vm=new Vue({
				el:'#app',
				data:{
					mess:'Hello',
					list:['11','22','33'],
					user:[{name:'张三',age:19,sex:'男'},{name:'李四',age:18,sex:'女'}]
				},
				methods:{
					show1:function(){
						alert('我就是特殊效果');
					},
					show2(){
						console.log('我是隐藏效果')
					}
				}
			})
		</script>
	</body>
</html>

在这里插入图片描述

六、v-model

v-model指令,适用于数据与页面组件双向绑定效果,也就是说,当我们的组件通过v-model指令绑定data的数据时改变组件的内容,data的数据的值也随之改变

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<div id="app">
			<input type="text" v-model="mess">
			{{mess}}
		</div>
		<script type="text/javascript">
			const vm=new Vue({
				el:'#app',
				data:{
					mess:'Hello',
					list:['11','22','33'],
					user:[{name:'张三',age:19,sex:'男'},{name:'李四',age:18,sex:'女'}]
				},
				methods:{
					show1:function(){
						alert('我就是特殊效果');
					},
					show2(){
						console.log('我是隐藏效果')
					}
				}
			})
		</script>
	</body>
</html>

在这里插入图片描述在这里插入图片描述

七、v-show

v-show指令,根据data中数据的值进行判定,如果结果为true,则显示内容,如果结果为false,则不显示内容

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<div id="app">
			<input type="text" v-model="mess">
			{{mess}}
			<h1 v-show="flog==1">我的内容应该怎么显示</h1>
			<h2 v-show="flog2">我的内容应该怎么显示???</h2>
			<h3 v-show="flog==2">我的内容应该怎么显示???</h3>
		</div>
		<script type="text/javascript">
			const vm=new Vue({
				el:'#app',
				data:{
					mess:'Hello',
					list:['11','22','33'],
					user:[{name:'张三',age:19,sex:'男'},{name:'李四',age:18,sex:'女'}],
					flog:1,
					flog2:true
				},
				methods:{
					show1:function(){
						alert('我就是特殊效果');
					},
					show2(){
						console.log('我是隐藏效果')
					}
				}
			})
		</script>
	</body>
</html>

在这里插入图片描述

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

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

相关文章

更开放、更高性能、更具规模,闪马智能布局AGI时代

7月6日&#xff0c;2023世界人工智能大会&#xff08;WAIC 2023&#xff09;在上海盛大开幕。本届大会以“智联世界 生成未来”为主题&#xff0c;聚焦通用人工智能发展&#xff0c;共话产业新未来。 8日上午&#xff0c;由上海闪马智能科技有限公司&#xff08;下称“闪马智能…

ZGC垃圾收集器(-XX:+UseZGC)

ZGC在jdk11只支持Linux版本&#xff0c;4TB的内存&#xff0c;STW时间控制在10ms内&#xff1b;jdk16已经支持16TB的内存&#xff0c;STW时间不超过1ms&#xff0c;下面主要针对jdk11版本的详解 一、堆内存结构 ZGC堆内存分为三种类型的页面即小页面&#xff08;空间大小2M&a…

CYCLO (L-ALA-L-ALA),5845-61-4,环(丙氨酰-丙氨酰),氨基酸中间体

资料编辑|陕西新研博美生物科技有限公司小编MISSwu​ 【产品描述】 cyclo(Ala-Ala)氨基酸中间体&#xff0c;主要由丙氨酰组成 【中文名称】环(丙氨酰-丙氨酰) 【英文名称】 cyclo(Ala-Ala)&#xff0c;CYCLO (L-ALA-L-ALA) 【结 构 式】 【CAS】5845-61-4 【分子式】C6H10N2O…

C#制作打包安装程序,安装程序类使用

这里写目录标题 安装Microsoft Visual Studio Installer Projects创建安装项目设置安装程序文件设置程序桌面图标给程序设置安装程序名称安装程序类怎么使用Installer1.cs自定义安装步骤自定义设置安装程序路径&#xff0c;让用户安装时不能选择安装路径生成安装包 安装Microso…

实例011 在状态栏中显示检查框

实例说明 在设计程序界面时&#xff0c;为了规范界面&#xff0c;可以将一些控件放置在状态栏中&#xff0c;这样既能起到控制程序的作用&#xff0c;又能使界面和谐、美观。运行程序&#xff0c;在窗体的状态栏中加入了显示时间检查框。效果如图1.11所示。 技术要点 在状态…

对Linux系统对Spark开发环境配置

单机版本 上传对应文件&#xff0c;解压文件&#xff0c;并查看 unzip scala-2.12.12.zip tar -xzf spark-3.2.0-bin-hadoop2.7.tgz 移动scala及spark安装包到指定目录下 在opt目录下移动该文件到/usr目录下 mv scala-2.12.12 /usr/scala/ mv spark-3.2.0-bin-hadoop2.7 /…

Django_使用redis缓存数据

目录 一、配置redis 二、缓存Django的默认session 三、使用django的缓存机制缓存数据 四、自定义缓存数据 源码等资料获取方法 一、配置redis 在settings中添加配置参数 # Django的缓存配置 CACHES {"default": {"BACKEND": "django_redis.ca…

【企业微信多选的星期数据生成如“周一、周三至周六“】

目标效果如下图 实现这个过程首先是要找到逻辑&#xff0c;这个看似简单的操作却属实让我想了很久。 首先要了解需求 根据拿到的数据得到生成符合要求的字符串。中间有连续的星期大于三天的&#xff0c;开始和结束星期中间要有"至"。 分析逻辑 一、判断开始日期和…

RabbitMQ系列(19)--实现在RabbitMQ宕机的情况下对消息进行处理

前言&#xff1a;在生产环境中由于一些不明原因&#xff0c;导致RabbitMQ重启的情况下&#xff0c;在RabbitMQ重启期间生产者投递消息失败&#xff0c;生产者发送的消息会丢失&#xff0c;那这时候就需要去想在极端的情况下&#xff0c;RabbitMQ集群不可用的时候&#xff0c;如…

创造一款安卓自定义控件_裁剪原理介绍

1、新增功能&#xff0c;旋转&#xff1a; 效果如图&#xff0c;点击旋转&#xff0c;可以将控件画面本身进行90度倍数的旋转&#xff0c;并进行宽高比例适配&#xff0c;旋转之后裁剪依然正常。 功能实现原理&#xff1a; 1、通过调用view的setRotation功能进行以View为中心…

Stable Diffusion - 超分辨率插件 StableSR v2 (768x768) 配置与使用

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/131582734 论文&#xff1a;Exploiting Diffusion Prior for Real-World Image Super-Resolution StableSR 算法提出了一种新颖的方法&#xff0…

【JAVA】JAVA与C++的区别与联系

个人主页&#xff1a;【&#x1f60a;个人主页】 系列专栏&#xff1a;【❤️初识JAVA】 文章目录 前言两方介绍CJAVA 不同|Java不支持指针、模板、指针重载、联合等||支持析构函数||条件编译和包含||螺纹支架||默认参数||转到语句||多重继承||异常处理||方法重载和操作符重载|…

对表中的数据操作

目录标题 创建一个工作者的表 &#xff0c;对表中数据进行相关操作worker表要求表中的数据内容 对数据的操作1.显示所有职工的基本信息2.查询所有职工所属部门的部门号&#xff0c;不显示重复的部门号3.求出所有职工的人数4.列出最高工和最低工资5.列出职工的平均工资和总工资6…

卷积神经网络CNN进阶与搭建

目录 Pooling&#xff08;池化&#xff09;ReluResNetGradient VanishingFeature scalingImage NormalizationBatch Normalization Pooling&#xff08;池化&#xff09; 在降采样(Subsampling)中起作用&#xff0c;在不改变feature map的基础上&#xff0c;在卷积出来的基础上…

【LeetCode】217. 存在重复元素

217. 存在重复元素&#xff08;简单&#xff09; 方法一&#xff1a;哈希表长度比较 思路 针对重复元素&#xff0c;很容易就想到 set。我们可以先将 nums 中的所有元素存入set&#xff0c;然后比较两个数据结构的长度&#xff0c;如果相等则说明不存在重复元素&#xff0c;反…

Android View滑动处理大法

原文链接 Android View滑动处理大法 对于触控式操作来说&#xff0c;滑动是一个特别重要的手势操作&#xff0c;如何做到让应用程序的页面滑动起来如丝般顺滑&#xff0c;让用户感觉到手起刀落的流畅感&#xff0c;是开发人猿需要重点解决的问题&#xff0c;这对提升用户体验是…

Python:使用 np.lib.stride_tricks.sliding_window_view 将立方体切割成N个三维小块

函数说明&#xff1a;np.lib.stride_tricks.sliding_window_view(arr, window_shape) 参数说明&#xff1a; arr&#xff1a;要创建滑动窗口视图的数组。 window_shape&#xff1a;滑动窗口的形状&#xff0c;表示切割出的小块的大小。 作用&#xff1a;用于创建滑动窗口视图。…

软件设计模式与体系结构-软件体系-基于事件的软件体系结构

目录 三、基于事件的软件体系结构代码显式调用隐式调用事件系统软件体系结构的概念事件系统的连接机制 例子&#xff1a;图形用户界面事件系统调度策略1.带有分离的派遣模块的事件管理器 观察者模式类图观察者模式应用实例 课程作业 三、基于事件的软件体系结构 计算机中&…

Prototype Completion for Few-Shot Learning

小样本学习的目的是用很少的例子来识别新类。基于预训练的方法有效地解决了通过预训练一个特征提取器&#xff0c;然后通过最近的基于质心的元学习对其进行微调 (pretraining fine-tuning)。然而,结果表明微调步骤使边际改进。在本文中&#xff0c;1)我们找出原因&#xff0c;…

Kafka入门,漏消费和重复消费, 消费者事务,数据积压(二十四)

漏消费和重复消费 重复消费&#xff1a;已经消费了数据&#xff0c;但是offset没提交。 漏消费&#xff1a;先提交offset后消费&#xff0c;有可能会造成数据得漏消费 消费者事务 如果向完成consumer端得进准一次性消费&#xff0c;那么需要Kafka消费端将消费过程和提交offs…