vue初识

news2024/9/29 18:41:35
  • 第一次接触vue,前端的html,css,jquery,js学习也有段时间了,就照着B站的视频简单看了一些,了解了一些简单的用法,这边做一个记录。

官网
工具:使用VSCode以及Live Server插件(能够实时预览)

第一个Vue程序

<!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>Vue基础</title>
	
	</head>
	<body>
		<div id="app">
			{{message}}
		</div>
		<!-- 开发环境版本,包含了有帮助的命令行警告 -->
		<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
		<script>
			var app=new Vue({
				el:"#app",
				data:{
					message:" hello Vue!"
				}
			})
		</script>
	</body>
</html>

el:挂载点:设置Vue实例

<!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>el挂载点</title>
	
	</head>
	<body id="body">
		{{messgae}}
		<div id="app" class="abc">
			{{message}}
			<p>{{message}}</p>
		</div>
		<!-- 开发环境版本,包含了有帮助的命令行警告 -->
		<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
		<script>
			var app=new Vue({
				 el:"#app",
				//el:".abc",
				//el:"div",
				//el:"#body",
				data:{
					message:" hello Vue!"
				}
			})
		</script>
	</body>
</html>

在这里插入图片描述

Vue实例的作用范围是什么呢?

  • Vue会管理el选项命中的元素及其内部的后代元素

是否可以使用其它的选择器

  • 可以使用其它的选择器,但是建议使用ID选择器

是否可以设置其它的dom元素呢

  • 可以使用其它的双标签,不能使用html和body

data数据对象

<!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>data数据对象</title>
	
	</head>
	<body>
		<div id="app">
			{{message}}
			<h2>{{student.name}} ---{{student.mobile}}</h2>
			<ul>
				<li>{{hobbies[0]}}</li>
				<li>{{hobbies[2]}}</li>
			</ul>
		</div>
		<!-- 开发环境版本,包含了有帮助的命令行警告 -->
		<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
		<script>
			var app=new Vue({
				el:"#app",
				data:{
					message:" hello Vue!",
					student:{
						name:"张三",
						mobile:"16789028"
					},
					hobbies: ["学习","喝酒","打球"]
					
				}
			})
		</script>
	</body>
</html>

常见指令

v-text

  • 作用:设置标签的内容
  • 默认写法会替换全部内容,使用差值表达式{{}}可以替换指定内容
  • 支持内部写表达式
<!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>
	<body>
		<div id="app">
			{{message}}
			<h2 v-text="message+'a'">zhh</h2>
			<h2>{{message+'sd'}} asd</h2>
		</div>
		<!-- 开发环境版本,包含了有帮助的命令行警告 -->
		<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
		<script>
			var app=new Vue({
				el:"#app",
				data:{
					message:" hello Vue!"
				}
			})
		</script>
	</body>
</html>

v-html

  • 作用:设置元素的innerHTML

  • 内容中有HTML结构会被解析成标签

  • v=text指令无论内容时什么.只会解析成文本

  • 解析文本使用v=text,需要解析html结构使用v-html

<!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-html</title>
		
	
	</head>
	<body>
		<div id="app">
			{{message}}
			<h2 v-text="title"></h2>
			<h2 v-html="title"></h2>
		</div>
		<!-- 开发环境版本,包含了有帮助的命令行警告 -->
		<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
		<script>
			var app=new Vue({
				el:"#app",
				data:{
					message:" hello Vue!",
					title:"<h3>abc<h3>"
				}
			})
		</script>
	</body>
</html>

v-on

  • v-on指令的作用是为元素绑定事件

  • 事件名不需要写on

  • 指令可以简写为@

  • 绑定的方法定义字methods属性中

  • 方法内部通过this关键字可以访问定义在data中数据

<!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-on</title>
	
	</head>
	<body>
		<div id="app">
			{{message}}
			<input type="button" value="测试事件绑定" v-on:click="func1">
			<input type="button" value="测试事件绑定简写" @click="func2">
		</div>
		<!-- 开发环境版本,包含了有帮助的命令行警告 -->
		<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
		<script>
			var app=new Vue({
				el:"#app",
				data:{
					message:" hello Vue!"
				},
				methods: {
					func1() {
						console.log("1");
						alert("2")
					},
					func2:function() {
						
						alert(this.message)
					}
				}
				
			})
		</script>
	</body>
</html>

v-on补充

  • 传递自定义参数,事件修饰符

  • 事件绑定的方法写成函数调用的形式,可传入自定义参数

  • 定义方法时需要定义形参来接收传入的实参

  • 事件的后面跟上.修饰符可以对事件进行限制

  • .enter可以限制触发的按键为回车

  • 事件修饰符有多种

<!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-on补充</title>
	<!-- -->
	</head>
	<body>
		<div id="app">
			<button @click="add(3,2)">加法计算</button>
			<input type="text" @keyup.enter="sayHi">
			
		</div>
		<!-- 开发环境版本,包含了有帮助的命令行警告 -->
		<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
		<script>
			var app=new Vue({
				el:"#app",
				data:{
					message:" hello Vue!"
				},
				methods: {
					add: function(a1,a2) {
						alert(a1+a2)
					},
					sayHi:function() {
						alert(666)
					}
				}
			})
		</script>
	</body>
</html>

v-bind

  • v-bind指令的作用是为元素绑定属性

  • 完整写法是v-bind:属性名

  • 写的可以直接省略v-bind,只保留:属性名

  • 需要动态的增删改class建议使用对象的方式

<!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">
		<style>
			.active{
				border: 1px solid red;
			}
		</style>
		<title>v-bind</title>
	
	<!--  -->
	</head>
	<body>
		<div id="app">
			{{message}}
			<img v-bind:src="imgSrc" alt=""><br>
			<img :src="imgSrc" alt="" :title="message+'404'" :class="isActive?'active':''"> 
			<img :src="imgSrc" alt="" :title="message+'404'" :class="{active:isActive}"> 
		</div>
		<!-- 开发环境版本,包含了有帮助的命令行警告 -->
		<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
		<script>
			var app=new Vue({
				el:"#app",
				data:{
					message:" hello Vue!",
					imgSrc:"../img/monkey.gif",
					isActive:true
				}
			})
		</script>
	</body>
</html>

v-show

  • v-show指令的作用是根据真假切换元素的显示状态

  • 原理是修改元素的display,实现显示隐藏

  • 指令后面的内容,最终都会被解析为布尔值

  • 值为true元素显示,值为false,元素隐藏

  • 数据改变之后,对应元素的显式状态会同步更新

<!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-show</title>
	<!--
	 -->
	</head>
	<body>
		<div id="app">
			<input type="button" value="切换显示状态" @click="changeInShow">
			<button @click="addAge">累加年龄</button>
			<br>
			<img src="../img/monkey.gif" alt="" v-show="isShow">
			<br>
			<img src="../img/monkey.gif" alt="" v-show="age>40">
		</div>
		<!-- 开发环境版本,包含了有帮助的命令行警告 -->
		<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
		<script>
			var app=new Vue({
				el:"#app",
				data:{
					message:" hello Vue!",
					isShow:true,
					age:34
				},
				methods:{
					changeInShow: function() {
						this.isShow=!this.isShow;
					},
					addAge:function() {
						this.age++;
					}
				}
			})
		</script>
	</body>
</html>

v-if

  • v-if指令的作用是:根据表达式的真假切换元素的显式状态

  • 本质是通过操控dom元素来切换显示状态

  • 表达式的值为true,元素存在于dom树中,为false,从dom树中移除

  • 频繁的切换v-show,反之使用v-if,前者的切换消耗小

<!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-if</title>
	<!-- 
		v-if指令的作用是:根据表达式的真假切换元素的显式状态
		本质是通过操控dom元素来切换显示状态
		表达式的值为true,元素存在于dom树中,为false,从dom树中移除
		频繁的切换v-show,反之使用v-if,前者的切换消耗小
	 -->
	</head>
	<body>
		<div id="app">
			<button @click="changeShow">切换显示状态</button>
			<button @click="changeAge">增加年龄</button>
			<img src="../img/monkey.gif" alt="" v-if="true">
			<img src="../img/monkey.gif" alt="" v-if="isShow">
			<img src="../img/monkey.gif" alt="" v-if="age>40">
		</div>
		<!-- 开发环境版本,包含了有帮助的命令行警告 -->
		<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
		<script>
			var app=new Vue({
				el:"#app",
				data:{
					message:" hello Vue!",
					isShow:true,
					age:30
				},
				methods: {
					changeShow: function() {
						this.isShow=!this.isShow;
					},
					changeAge: function() {
						this.age++;
						console.log(this.age)
					}
				}
			})
		</script>
	</body>
</html>

v-for

  • v-for指令的作用是根据数据生成列表结构

  • 数组经常与它结合使用

  • 语法是(item,index) in数据

  • item和index可以结合其它指令一起使用

  • 数组长度的更新会同步到页面上,是响应式的

<!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-for</title>
		<!--
		 -->
	
	</head>
	<body>
		<div id="app">
			<ul>
				<li v-for="(item,index) in hobbies" :title="item">
					{{index+1}}兴趣有:{{item}}
				</li>
			</ul>
			<h2 v-for="it in students">
				{{it}}
				{{it.name}} {{it.age}}
			</h2>
			{{message}}
		</div>
		<!-- 开发环境版本,包含了有帮助的命令行警告 -->
		<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
		<script>
			var app=new Vue({
				el:"#app",
				data:{
					message:" hello Vue!",
					hobbies:["打球","睡觉","打游戏"],
					students:[
						{name: "abc",
						age:"34"},
						{name:"rty",
						age: "45"}
					]
				
				}
			})
		</script>
	</body>
</html>

v-model

  • 获取和设置表单元素的值(双向数据绑定)

  • v-model指令的作用是设置和获取表单元素的值

  • 绑定的数据会和表单元素值相关联

  • 绑定的数据<---->表单元素的值

<!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-model</title>
	<!-- -->
	</head>
	<body>
		<div id="app">
			{{message}}
			<button @click="setM">修改message</button>
			<input type="text" v-model="message" @keyup.enter="getM">
		</div>
		<!-- 开发环境版本,包含了有帮助的命令行警告 -->
		<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
		<script>
			var app=new Vue({
				el:"#app",
				data:{
					message:" hello Vue!"
				},
				methods: {
					getM:function() {
						alert(this.message)
					},
					setM:function(){
						this.message="aaaa"
					}
				}
			})
		</script>
	</body>
</html>

使用常用指令实现小功能

计数器

<!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>计数器</title>
		<style>
			#app {
			  width: 480px;
			  height: 100px;
			  margin: 200px auto;
			}
			.input-num {
			  margin-top: 20px;
			  height: 100%;
			  display: flex;
			  border-radius: 10px;
			  overflow: hidden;
			  box-shadow: 0 0 4px black;
			}
			.input-num button {
			  width: 150px;
			  height: 100%;
			  font-size: 40px;
			  color: gray;
			  cursor: pointer;
			  border: none;
			  outline: none;
			}
			.input-num span {
			  height: 100%;
			  font-size: 40px;
			  flex: 1;
			  text-align: center;
			  line-height: 100px;
			}
		  </style>
	</head>
	<body>
		<div id="app">
			<div class="input-num">
			<button @click="sub">-</button>
			<span>{{num}}</span>
			<button v-on:click="add">+</button>
			</div>
		</div>
		<!-- 开发环境版本,包含了有帮助的命令行警告 -->
		<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
		<script>
			var app=new Vue({
				el:"#app",
				data:{
					num:1
				},
				methods: {
					sub:function() {
						if(this.num>0){
							this.num--
						}else {
							alert("到最小值了")
						}
					},
					add: function(){
						if ((this.num) < 10) {
							this.num ++;
						}else {
							alert("到最大值了")
						}
					}
				}
			})
		</script>
	</body>
</html>

图片切换

<!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">
		<!-- <link rel="stylesheet" href="../css/index.css"/> -->
		<title>图片切换</title>
	
	</head>
	<body>
		<div id="app">
			<!-- <button @click="next">测试</button> -->
			<img src="../img/prev.png" alt="" @click="prev" v-if="num>0">
			<img v-for="(item,index) in imgSrcs"
			 :src="item" alt="" v-show="num==index" >
			 <img src="../img/next.png" alt="" @click="next" v-if="num!=10">
		
		</div>
		<!-- 开发环境版本,包含了有帮助的命令行警告 -->
		<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
		<script>
		 var app=new Vue({
			el: "#app",
			data: {
				message: "hi",
				num:0,
				imgSrcs:["../img/00.jpg",
				"../img/01.jpg",
				"../img/02.jpg",
				"../img/03.jpg",
				"../img/04.jpg",
				"../img/05.jpg",
				"../img/06.jpg",
				"../img/07.jpg",
				"../img/08.jpg",
				"../img/09.jpg",
				"../img/10.jpg",

			]
				
			},
			methods: {
				prev:function() {
					// if(this.num>0){
					
					// 	//alert("--")
					// }

					this.num--;
				},
				next:function() {
					// if(this.num<10){
						
					// 	//alert("++")
					// }
					this.num++;
				}

			}
		 })
		</script > 
		</body>
		</html>

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

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

相关文章

【龙芯1B】:LCD显示图片文字背景色前景色、小创语音控制lcd显示、数码管倒计时

项目场景&#xff1a; 闲来无事&#xff0c;写了几个关于嵌入式技能大赛的任务。希望对大家有所帮助。本文开发板由百科荣创的龙芯1b开发板支持&#xff0c;关于嵌入式技能大赛的开发板。 LCD显示图片&文字&背景色&前景色小创语音控制lcd显示数码管倒计时LCD显示图…

创建自己的脚手架(一)

创建自己的脚手架 脚手架基本框架 使用pnpm init 创建环境 取一个自己喜欢的名字 这里叫gucli 生成 package.json文件的内容 {"name": "gucli","version": "1.0.0","description": "","main": "…

【JavaSE】Java9Java10Java11新特性(687~717)

687.复习&#xff1a;动态代理 688.复习&#xff1a;Lambda表达式 689.复习&#xff1a;函数式接口 690.复习&#xff1a;方法引用与构造器引用 691.复习&#xff1a;Stream API 692.复习&#xff1a;Optional类的使用 693.jdk版本更新说明 JDK 9 的发布 经过4次跳票&#x…

Leetcode力扣秋招刷题路-0074

从0开始的秋招刷题路&#xff0c;记录下所刷每道题的题解&#xff0c;帮助自己回顾总结 74. 搜索二维矩阵 编写一个高效的算法来判断 m x n 矩阵中&#xff0c;是否存在一个目标值。该矩阵具有如下特性&#xff1a; 每行中的整数从左到右按升序排列。 每行的第一个整数大于前…

《MySQL学习》 事务的隔离

一.快照读与当前读 众所周知,MySQL默认的隔离级别为可重复读&#xff08;RR&#xff09;&#xff0c;开启一致性视图后&#xff0c;事务提交前后数据都是不变的。 事务 T 启动的时候会创建一个视图 read-view&#xff0c;之后事务 T 执行期间&#xff0c;即使有其他事务修改了…

数值卡,让数据可视化玩出新花样丨三叠云

数值卡 路径 仪表盘 >> 仪表盘设计 功能简介 1. 数值卡增加「数值标题」、「图标」、「进度条」功能&#xff0c;使得应用场景更为广泛&#xff0c;实现数据可视化&#xff0c;让用户能够轻松地获取、处理信息。 2.「数据模型」支持0个维度1个指标、1个维度1个指标。…

EMC简介(文末有易灵思核心板)

EMC测试又叫做电磁兼容&#xff08;EMC&#xff09;&#xff0c;指的是对电子产品在电磁场方面干扰大小&#xff08;EMI&#xff09;和抗干扰能力&#xff08;EMS&#xff09;的综合评定&#xff0c;是产品质量最重要的指标之一&#xff0c;电磁兼容的测量由测试场地和测试仪器…

嵌入式Linux文件系统的介绍

学习Linux都是跟文件打交道&#xff0c;却不知道文件系统下的目录存放的内容&#xff0c;有点说不过去&#xff0c;特意准备了这篇文章供大家阅读&#xff0c;哪怕有一点点帮助&#xff0c;都是对我的鼓励。 根文件系统一般应该比较小&#xff0c;因为包括严格的文件和一个小的…

手机子品牌的“性能战事”:一场殊途同归的大混战

在智能手机行业进入存量市场后&#xff0c;竞争更加白热化。当各国产手机品牌集体冲高端&#xff0c;旗下子品牌们也正厮杀正酣&#xff0c;显现出刀光剑影。处理器、屏幕、内存、价格等各方面无不互相对标&#xff0c;激烈程度并不亚于高端之争。源于OPPO的中端手机品牌realme…

input专题--独占事件

最近在群里聊天&#xff0c;遇到一个哥们描述的一个问题&#xff1a; 大家好&#xff0c;请教一个关于文件的问题。有几个进程打开了/dev/input 设备&#xff0c;都可以收到数据&#xff0c;又来了一个进程x&#xff0c;打开了这个设备&#xff0c;不知道采用了什么方式&#…

C++框架学习一:朴实无华的高性能RPC框架推荐

一个高性能的RPC框架&#xff1a; 介绍&#xff1a; 框架特性 操作系统&#xff1a;Linux编程语言&#xff1a;C14完全独立&#xff1a;不依赖任何第三方库高性能&#xff1a;微秒级响应高并发&#xff1a;单机百万连接IO多路复用&#xff1a;epoll连接池线程池用法简单 服…

快速入门nginx

目录 1.nginx前言 2.什么是nginx 3.Nginx作用&#xff1f; 1.正向代理 2.反向代理 3.轮询 4.加权轮询 4.Nginx的安装 1.windows下安装 2.linux下安装 5.Nginx常用命令 1.nginx前言 我们公司项目刚刚上线的时候&#xff0c;并发量小&#xff0c;用户使用的少&#…

使用和制作动、静态库

文章目录什么是库&#xff1f;静态库打包方式使用方式生成并执行可执行程序粗暴方式优化方式动态库不一样的.o文件打包方式使用方式生成可执行程序运行可执行程序无法运行时的解决方案动静态库与动静态链接什么是库&#xff1f; 从一开始的helloworld&#xff0c;到现在熟练使…

SpringBoot项目中日志控制,配置logback(logback.xml的配置及介绍)

SpringBoot项目中日志控制&#xff0c;配置logback&#xff08;logback.xml的配置及介绍&#xff09;前言一、大致介绍logback依赖jar包logback的默认配置创建logback.xml配置文件仰天大笑出门去&#xff0c;我辈岂是蓬蒿人前言 SpringBoot项目中对日志的处理手动控制&#xf…

从 JavaScript 中的数组中删除空对象

从数组中删除空对象&#xff1a; 使用 Array.filter() 方法遍历数组。将每个对象传递给 Object.keys() 方法并检查键的长度是否不等于 0。filter 方法将返回一个不包含空对象的新数组。 const arr [{}, {id: 1}, {}, {id: 2}, {}];const results arr.filter(element > {…

scrum看板视图切换时间线视图做项目管理

企业需要开发一个项目&#xff0c;可以制作时间线进行管理&#xff0c;以便参与者和管理者了解项目的时间进度。项目进行到哪一步&#xff0c;参与者有哪些&#xff0c;责任人是谁&#xff0c;这些都可以通过时间线进行展示。「时间线视图」是一种比甘特图更轻量、更实用的工具…

Chapter6:机器人SLAM与自主导航

ROS1{\rm ROS1}ROS1的基础及应用&#xff0c;基于古月的课&#xff0c;各位可以去看&#xff0c;基于hawkbot{\rm hawkbot}hawkbot机器人进行实际操作。 ROS{\rm ROS}ROS版本&#xff1a;ROS1{\rm ROS1}ROS1的Melodic{\rm Melodic}Melodic&#xff1b;实际机器人&#xff1a;Ha…

【Spring Cloud Alibaba】001-单体架构与微服务架构

【Spring Cloud Alibaba】001-单体架构与微服务 文章目录【Spring Cloud Alibaba】001-单体架构与微服务一、单体架构1、单体应用与单体架构2、单体应用架构图3、单体架构优缺点优点缺点二、微服务1、微服务的“定义”2、微服务的特性3、微服务架构图4、微服务的优缺点优点缺点…

Python自动批量修改文件名称的方法大全

前言本文介绍基于Python语言&#xff0c;按照一定命名规则批量修改多个文件的文件名的方法。已知现有一个文件夹&#xff0c;其中包括班级所有同学上交的作业文件&#xff0c;每人一份&#xff1b;所有作业文件命名格式统一&#xff0c;都是地信1701_姓名_学习心得格式。现需要…

论文解读:(TransA)TransA: An Adaptive Approach for Knowledge Graph Embedding

简介 先前的知识表示方法&#xff1a;TransE、TransH、TransR、TransD、TranSparse等。的损失函数仅单纯的考虑hrh rhr和ttt在某个语义空间的欧氏距离&#xff0c;认为只要欧式距离最小&#xff0c;就认为h和th和th和t的关系为r。显然这种度量指标过于简单&#xff0c;虽然先…