Vue基本知识

news2024/11/24 14:57:34

 一、vue入门

Vue为前端的框架,免除了原生js的DOM操作。简化书写。

基于MVVM的思想,实现数据的双向绑定,使编程的重点放在数据上。

1、引入vue.js文件

2、定义vue核心对象,定义数据模型

3、编写视图

//1、引入vue.js
<script src="vue.js"></script>

//2、定义vue核心对象
<script>
	//定义vue对象
	new Vue({
		el:"#app",//vue接管的区域
		data:{
			    message:"Hello Vue"
			 }
		})
</script>

//定义视图
<!-- 定义视图 -->
		<div id="app">
			<!-- v-model为绑定数据 -->
			<input type="text" name="" id="" v-model="message">
			{{message}}
		</div>

其中{{message}}为插值表达式

形式:{{表达式}} 内容可以为变量、函数调用、三元运算符

 input中v-model为绑定数据,当input输入的值发生变化时,vue对象中的message也随之发生变化从而体现了vue的双向绑定性。

v-model为指令。

二、vue指令

指令:html标签上带有v-的特殊属性

  • v-mind为html标签绑定属性值,如href,css
  • v-model在表单元素上进行双向数据绑定
  • v-on为html标签绑定事件
  • v-if ,v-else-if,v-else条件性的渲染某元素
  • v-for遍历容器
  • v-show通过条件来确定是否展示该元素

1、v-mind

为html标签动态的绑定一个属性值,当vue的数据模型的值发生变化时,其所绑定的属性值也发生变化

	
		
		<div id="app">
			<!-- v-bind动态绑定 -->
			<!-- url的值将会动态的绑定vue对象中的数据模型data -->
			<a v-bind:href="URL">链接1</a>
			<a :href="URL">链接2</a>
			
			<input type="text" v-model="URL">
		</div>
	<script>
		//定义vue对象
		new Vue({
			el:"#app",//vue接管的区域
			data:{
				URL:"https://www.baidu.com"
			},
			
		})
	</script>

2、v-model

在表单上进行双向数据绑定

3、v-on

为html标签绑定事件,其数据模型要改为以下形式

	new Vue({
			el:"#app",//vue接管的区域
			data:{
			
			},
			methods:{
				handle:function(){
					alert("你点了我一下...");
				}				
			}
		})

调用方式:

	<input type="button" name="" id="" value="点击" v-on:click="handle()">

4、v-if v-else-if v-else

当条件为真时渲染标签,若为假则不渲染

5、v-show

根据条件展示某元素,但都进行了渲染,只不过使用display对展示进行了控制

实例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="vue.js"></script>
	</head>
	<body>		
		<!-- 定义视图 -->
		<div id="app">
			年龄<input type="text" name="" id="" v-model="age">经判定为:
			<span v-if="age<=35">年轻人(35以下)</span>
			<span v-else-if="age>35 && age<60">中年人(35-60)</span>
			<span v-else>老年人(60以上)</span>
			
			<br><br>
			
			年龄<input type="text" name="" id="" v-model="age">经判定为:
			<span v-show="age<=35">年轻人(35以下)</span>
			<span v-show="age>35 && age<60">中年人(35-60)</span>
			<span v-show="age>60">老年人(60以上)</span>
			<br><br>
		</div>
	</body>
	<script>
		//定义vue对象
		new Vue({
			el:"#app",//vue接管的区域
			data:{
				age:20
			},
			methods:{
				
			}
		})
	</script>
</html>

v-if与v-show在展示时的区别:

v-show去对span标签全部进行了渲染,只不过在显示的时候使用display进行控制,值为none不进行显示,而v-if只对条件满足的标签进行渲染。 

6、v-for

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="vue.js"></script>
	</head>
	<body>
		<!-- 定义视图 -->
		<div id="app">
			<div v-for="addr in addrs">{{addr}}</div>
			<hr>
			<div v-for="(addr,index) in addrs">{{index+1}:{{addr}}</div>
		</div>
	</body>
	<script>
		//定义vue对象
		new Vue({
			el: "#app", //vue接管的区域
			data: {
				addrs: ['北京', '上海', '广州', '深圳', '成都']
			}
		})
	</script>
</html>

 

 案例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="vue.js"></script>
	</head>
	<body>
		<!-- 定义视图 -->
		<div id="app">
			<table border="1" cellspacing="0" width="60%">
				<tr>
					<th>编号</th>
					<th>姓名</th>
					<th>年龄</th>
					<th>性别</th>
					<th>成绩</th>
					<th>等级</th>
				</tr>
				<tr align="center" v-for="(user,index) in users">
					<td>{{index+1}}</td>
					<td>{{user.name}}</td>
					<td>{{user.age}}</td>
					<td>
						<span v-if="user.gender==1">男</span>
						<span v-if="user.gender==2">女</span>
					</td>
					<td>{{user.scorce}}</td>
					<td>
						<span v-if="user.scorce>=85">优秀</span>
						<span v-else-if="user.scorce>=60">及格</span>
						<span style="color: red;" v-else>不及格</span>
					</td>
				</tr>
			</table>
		</div>
	</body>
	<script>
		//定义vue对象
		new Vue({
			el: "#app", //vue接管的区域
			data: {
				users: [{
						name: "Tom",
						age: 20,
						gender: 1,
						scorce: 78
					},
					{
						name: "Rose",
						age: 18,
						gender: 2,
						scorce: 86
					},
					{
						name: "Jerry",
						age: 26,
						gender: 1,
						scorce: 90
					},
					{
						name: "Tony",
						age: 30,
						gender: 1,
						scorce: 52
					}
				]
			}
		})
	</script>
</html>

 三、vue的生命周期

 生命周期:一个对象从创建到销毁的整个过程。

在这里插入图片描述

 mounted:挂载完成,vue初始化成功,html页面渲染成功(发送请求到服务端,加载数据)

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

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

相关文章

【学习心得】安装cuda/cudann和pytorch

一、查看驱动信息 # 进入CMD输入命令 nvidia-smi 也可以右下角图标打开NVIDIA 设置进行查看 二、下载安装CUDA 1、下载 下载地址 https://developer.nvidia.com/ 2、安装 推荐自定义安装。建议只勾选Cuda&#xff0c;只安装这一个就好&#xff0c;以免报错安装失败。 3、验证…

05 - 研究 .git 目录

查看所有文章链接&#xff1a;&#xff08;更新中&#xff09;GIT常用场景- 目录 文章目录 1. HEAD2. config3. refs4. objects 1. HEAD 2. config 3. refs 4. objects Git对象一共有三种&#xff1a;数据对象 blob、树对象 tree以及提交对象 commit&#xff0c;这些对象都被保…

小白到运维工程师自学之路 第七十四集 (kubernetes基于calico部署应用nginx)

一、详细介绍calico Calico 是一种基于 BGP 的、纯三层的、容器间互通的网络方案。与 OpenStack、Kubenetes、AWS、GCE 等云平台都能够良好的集成。在虚拟化平台中&#xff0c;如 OpenStack、Docker 等都需要实现 workloads 之间互连&#xff0c;但同时也需要对容器做隔离控制…

梅赛德斯-奔驰将成为首家集成ChatGPT的汽车制造商

ChatGPT的受欢迎程度毋庸置疑。OpenAI这个基于人工智能的工具&#xff0c;每天能够吸引无数用户使用&#xff0c;已成为当下很受欢迎的技术热点。因此&#xff0c;有许多公司都在想方设法利用ChatGPT来提高产品吸引力&#xff0c;卖点以及性能。在汽车领域&#xff0c;梅赛德斯…

抓包工具Fiddler下载与安装

一、Fiddler介绍 1.Fiddler简介 Fiddler 是一款免费、灵活、操作简单、功能强大的 HTTP 代理工具&#xff0c;是目前最常用的 HTTP 抓包工具之一。可以抓取所有的 HTTP/HTTPS 包、过滤会话、分析请求详细内容、伪造客户端请求、篡改服务器响应、重定向、网络限速、断点调试等…

GPT-4 如何为我编写测试

ChatGPT — 每个人都在谈论它,每个人都有自己的观点,玩起来很有趣,但我们不是在这里玩— 我想展示一些实际用途,可以帮助您节省时间并提高效率。 我在本文中使用GPT-4 动机 我们以前都见过这样的情况——代码覆盖率不断下降的项目——部署起来越来越可怕,而且像朝鲜一样…

POJ 2429 Miller-rabin素数判定 + pollard-rho质因子分解 + 埃氏筛法

题目不能说是很难&#xff0c;只是用到了许多数学上的知识&#xff08;费马小定理&#xff0c;miller-radin&#xff0c;pollard-rho&#xff09;&#xff0c;还有一些算法上的知识DFS&#xff0c;辗转相除。 我也很菜&#xff0c;一个周末的时间都用在这个题目上了&#xff0…

软考第二章 信息技术发展

本章内容&#xff1a;软件硬件、网络、存储、新技术。 文章目录 2.1 信息技术及其发展2.1.1 计算机硬件2.1.2 计算机网络2.1.3 存储和数据库2.1.4 信息安全 2.2 新一代信息技术2.2.1 物联网2.2.2 云计算2.2.3 大数据2.2.4 区块链2.2.5 人工智能虚拟现实 2.1 信息技术及其发展 …

EXCEL按列查找,最终返回该列所需查询序列所对应的值,VLOOKUP函数

EXCEL按列查找&#xff0c;最终返回该列所需查询序列所对应的值 示例&#xff1a;国标行业分类汉字&#xff0c;匹配id 使用VLOOKUP函数 第一参数&#xff1a;拿去查询的值。 第二参数&#xff1a;匹配的数据。 Ps&#xff1a;Sheet1!$C 21 : 21: 21:E 117 &#xff0c;需要…

通过版本号控制强制刷新浏览器或清空浏览器缓存

背景介绍 在我们做 web 项目时&#xff0c;经常会遇到一个问题就是&#xff0c;需要 通知业务人员&#xff08;系统用户&#xff09;刷新浏览器或者清空浏览器 cookie 缓存的情况。 而对于用户而言&#xff0c;很多人一方面不懂如何操作&#xff0c;另一方面由于执行力问题&am…

屏蔽socket 实例化时,握手阶段报错信息WebSocket connection to ‘***‘ failed

事情起因是这样的&#xff1a; 我们网站是需要socket链接实行实时推送服务&#xff0c;有恶意竞争对手通过抓包或者断网&#xff0c;获取到了我们的socket链接地址&#xff0c;那么他就可以通过java写一个脚本无限链接这个socket地址。形成dos攻击。使socket服务器资源耗尽&…

基于FPGA的FM信号解调

这是本人第一次写博客&#xff0c;写的不好请多多担待。 本次实验是将一个已知的FM信号通过FPGA进行解调&#xff0c;解调出波形并进行FFT得到调制频率fm&#xff0c;并且每一步都通过MATLAB进行波形的验证。 开发工具 VIVADO 2019.2MATLABFM解调 已知FM信号的载波频率fc为22…

基于LVQ神经网络的乳腺肿癌诊断

1.案例背景 1.1 LVQ 神经网络概述 学习向量量化(Learning Vector Quantization,LVQ)神经网络是一种用于训练竞争层的有监督学习(supervisedlearning)方法的输人前向神经网络,其算法是从Kohonen竞争算法演化而来的。LVQ神经网络在模式识别和优化领域有着广泛的应用。 1…

【Sklearn】基于逻辑回归算法的数据分类预测(Excel可直接替换数据))

【Sklearn】基于逻辑回归算法的数据分类预测&#xff08;Excel可直接替换数据&#xff09; 1.模型原理2.模型参数3.文件结构4.Excel数据5.下载地址6.完整代码7.运行结果 1.模型原理 逻辑回归是一种用于二分类问题的统计学习方法&#xff0c;尽管名字中含有“回归”&#xff0c…

Redis 缓存过期及删除

一、Redis缓存过期策略 物理内存达到上限后&#xff0c;像磁盘空间申请虚拟内存(硬盘与内存的swap),甚至崩溃。 内存与硬盘交换 (swap) 虚拟内存&#xff0c;频繁I0 性能急剧下降&#xff0c;会造成redis内存急剧下降&#xff1b; 一般设置物理内存的3/4&#xff0c;在redis…

Java算法_ 二叉树的中序遍历(LeetCode_Hot100)

题目描述&#xff1a;给定一个二叉树的根节点 &#xff0c;返回 它的 中序 遍历 。root 获得更多&#xff1f;算法思路:代码文档&#xff0c;算法解析的私得。 运行效果 完整代码 import java.util.ArrayList; import java.util.List;/*** 2 * Author: LJJ* 3 * Date: 2023/8/…

PyTorch深度学习实践---笔记

PyTorch深度学习实践---笔记 2.线性模型&#xff08;Linear Model&#xff09;2.exercise 3. 梯度下降算法&#xff08;Gradient Descent&#xff09;3.1梯度下降&#xff08;Gradient Descent&#xff09;3.2 随机梯度下降&#xff08;Stochastic Gradient Descent&#xff09…

编译OpenCV问题解决:已经编译OpenCV成功之后无法运行测试代码

报错问题如下&#xff1a; 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 LNK2001 无法解析的外部符号 "void __cdecl cv::imshow(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class c…

【腾讯云 Cloud Studio 实战训练营】在线 IDE 编写 canvas 转换黑白风格头像

关于 Cloud Studio Cloud Studio 是基于浏览器的集成式开发环境(IDE)&#xff0c;为开发者提供了一个永不间断的云端工作站。用户在使用Cloud Studio 时无需安装&#xff0c;随时随地打开浏览器就能在线编程。 Cloud Studio 作为在线IDE&#xff0c;包含代码高亮、自动补全、Gi…

GIt Squash 多个提交压缩提交

假设你有一个名为 feature 的分支&#xff0c;它包含三个提交&#xff08;A, B, C&#xff09;&#xff0c;并且你想将这三个提交压缩成一个。下面是如何做到这一点的。 首先&#xff0c;找出你要开始压缩的那个最早提交的哈希值。在这个例子中&#xff0c;我们假设 A 是最早的…