Vue的第二章节之模版语法(带你感受来自Vue模版语法的魅力)

news2024/11/24 13:27:25

目录

​编辑

前言

一、了解模版语法

1. 什么是模版语法

2. 应用场景

3. 对开发的作用

二、插值

1. 文本

2. HTMLj解析

3.  表达式

三、指令

1. v-if/v-else-if/v-else的使用

2. v-show

v-show与v-if的区别

3. v-for

v-for的使用

扩展(下拉框)

四、动态传参

代码

 效果

五、过滤器

1. 局部过滤器

代码

2.局部过滤器串联使用

3. 局部过滤器传参

4. 全局过滤器

六、计算属性及监听属性

1. 计算属性

代码

效果

2. 监听属性

代码 

效果

 注:

七、模拟购物车案例

代码

效果


前言

        在前面的一期的博客中,由博主我带各位老铁初步的认识了解了一下有关Vue的一些基本知识点,今天还是由博主继续带各位老铁继续在Vue的领域中探索新的知识与大家分享学习。今天给大家带来的是Vue——模版语法,将从以下几个方面讲述:插值、指令、过滤器、计算属性与监听属性。

一、了解模版语法

1. 什么是模版语法

        Vue模板语法是一种用于在Vue.js框架中编写动态HTML模板的语法。它结合了普通文本和Vue实例中的数据,让开发者可以轻松地编写界面的逻辑和展示。

        其中包括以下几个方面:

  1. 插值:使用双花括号{{ }}将Vue实例中的数据绑定到模板中。例如:<div>{{ message }}</div>

  2. 表达式:在插值的基础上,可以使用JavaScript表达式进行更复杂的计算。例如:<div>{{ count * 2 }}</div>

  3. 指令:以v-开头的特殊属性,用于响应式地操作DOM元素或给元素添加事件监听器。常见的指令有v-ifv-forv-on等。

  4. 过滤器:使用管道符|将一个表达式通过过滤器进行处理,用于格式化文本显示或数据转换。例如:{{ message | capitalize }}

  5. 缩写:Vue提供了一些缩写语法,使模板写起来更加简洁,如@代替v-on:代替v-bind等。

当然除此之外,Vue模板语法还支持条件渲染、列表渲染、绑定CSS类和样式、计算属性等功能,以及自定义指令和组件的使用。其实Vue模板语法与普通的HTML语法类似,但具有更多的动态性和扩展性。它使开发者能够更方便地操作数据和UI,并有效地实现响应式的界面交互。

2. 应用场景

Vue模版语法的应用场景
场景说明
数据绑定Vue模板语法可以通过双花括号(Mustache语法)将数据动态地插入到HTML模板中,实现数据的实时更新。这使得开发者可以在模板中直接引用组件实例的数据,而无需手动操作DOM。
条件渲染Vue模板语法提供了v-if和v-show指令,可以根据条件来控制DOM元素的显示与隐藏。这使得开发者可以根据应用程序的状态来决定哪些DOM元素应该显示,从而实现条件渲染的逻辑。
列表渲染Vue模板语法提供了v-for指令,可以根据数据源动态地渲染列表。开发者可以通过v-for指令遍历数组或对象,生成对应的DOM元素,实现列表渲染的功能。
事件处理Vue模板语法可以通过v-on指令来绑定事件处理函数。开发者可以在模板中使用v-on指令监听DOM事件,然后调用组件实例中相应的方法来处理事件。这使得开发者可以方便地在模板中处理用户交互。
表单输入绑定Vue模板语法可以通过v-model指令实现表单输入元素与组件实例数据的双向绑定。这使得开发者可以方便地处理表单输入,并实时更新组件实例的数据。

3. 对开发的作用

  1. 数据驱动视图:Vue模板语法允许将数据动态地绑定到HTML模板中,实现数据驱动视图的效果。开发者只需关注数据的变化,而无需手动操作DOM,大大简化了视图层的代码编写。

  2. 简化DOM操作:Vue模板语法使得开发者可以通过简单的指令和表达式来操作DOM,如条件渲染、列表渲染、样式绑定等。开发者可以直观地在模板中表达视图的逻辑,而不需要手动操作DOM元素。

  3. 提高代码可维护性:使用Vue模板语法可以将视图逻辑与业务逻辑进行分离,使代码结构更加清晰。模板语法的声明性和组件化特性,使得开发者可以更好地组织和管理代码,提高代码的可维护性和可读性。

  4. 加速开发速度:Vue模板语法提供了一种快速构建界面的方式,开发者可以通过简单的模板语法来快速实现视图层的功能。这有助于加速开发速度,减少开发工作量。

  5. 支持响应式更新:Vue模板语法中的数据绑定和计算属性机制,使得数据的变化能够实时反映在视图上。开发者只需更新数据,视图会自动更新,从而提供了响应式的用户体验。

二、插值

1. 文本

代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<!-- 导入js依赖文件 -->
		<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js"></script>
		<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.js"></script>
		<title>Vue-插值</title>
	</head>
	<body>
		<div id="app">
			<p>文本</p>
			{{msg}}
		</div>
		<script type="text/javascript">
			new Vue({
				el:'#app',
				data(){
					return {
						msg:'hello  君易'
					}
				}
			});
			
		</script>
	</body>
</html>

效果

2. HTMLj解析

代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<!-- 导入js依赖文件 -->
		<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js"></script>
		<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.js"></script>
		<title>Vue-插值</title>
	</head>
	<body>
		<div id="app">
			<p>HTML解析</p>
			<b v-html="msg2"></b>
			
		</div>
		<script type="text/javascript">
			new Vue({
				el:'#app',
				data(){
					return {
						msg:'hello  君易',//文本
						msg2:'<span style="color:red">你好,君易-鑨<span>'
					}
				}
			});
			
		</script>
	</body>
</html>

效果

3.  表达式

代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<!-- 导入js依赖文件 -->
		<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js"></script>
		<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.js"></script>
		<title>Vue-插值</title>
	</head>
	<body>
		<div id="app">
			<p>文本</p>
			{{msg}}
			
			<p>HTML解析</p>
			<b v-html="msg2"></b>
			
			<p>表达式</p>
			{{num+1}}
			{{warn.substr(0,2)}}
			<input v-model="ok"/>
			{{ok==1?'学习':'摆烂'}}
			
		</div>
		<script type="text/javascript">
			new Vue({
				el:'#app',
				data(){
					return {
						msg:'hello  君易',//文本
						msg2:'<span style="color:red">你好,君易-鑨<span>',
						num:1,
						warn:'木易你好',
						ok:1
					}
				}
			});
			
		</script>
	</body>
</html>

效果

注: 

三、指令

1. v-if/v-else-if/v-else的使用

代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js"></script>
		<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.js"></script>
		<title>Vue-指令</title>
	</head>
	<body>
		<div id="app">
			<p>v-if/v-else-if/v-else的使用</p>
			<input v-model="score"/><br/>
			<b v-if="score <60 ">不及格</b>
			<b v-else-if="score>=60 && score<70">及格</b>
			<b v-else-if="score>=70 && score<80">一般</b>
			<b v-else-if="score>=80 && score<90">良好</b>
			<b v-else="score>=90">优秀</b>
		</div>
		
		<script type="text/javascript">
			new Vue({
				el:'#app',
				data(){
					return {
						score:69
					}
				}
			});
			
		</script>
	</body>
</html>

效果

会根据输入框输入的值,然后进入到判断语句语句中进行判断,输出显示对应的语句及文字

2. v-show

v-show与v-if的区别

代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js"></script>
		<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.js"></script>
		<title>Vue-指令</title>
	</head>
	<body>
		<div id="app">
			<!-- <p>v-if/v-else-if/v-else的使用</p>
			<input v-model="score"/><br/>
			<b v-if="score <60 ">不及格</b>
			<b v-else-if="score>=60 && score<70">及格</b>
			<b v-else-if="score>=70 && score<80">一般</b>
			<b v-else-if="score>=80 && score<90">良好</b>
			<b v-else="score>=90">优秀</b> -->
			
			<p>v-show的使用</p>
			<p>v-show和v-if的区别</p>
			<b v-if="name">君易-鑨</b>
			<b v-show="name">君易-鑨</b>
		</div>
		
		<script type="text/javascript">
			new Vue({
				el:'#app',
				data(){
					return {
						score:69,
						name:false
					}
				}
			});
			
		</script>
	</body>
</html>

效果

因为属性name的值为false所以不在页面上展示,将属性值改为true就可以在页面上展示出来了。我们按F12进入到网页控制台查看。

 由此我们可以知道v-show与v-if的区别所在了。

3. v-for

v-for的使用

代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js"></script>
		<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.js"></script>
		<title>Vue-指令</title>
	</head>
	<body>
		<div id="app">
			
			<p>v-for的使用</p>
			<i v-for="a in arr">{{a}}&nbsp;&nbsp;</i><br />
			<i v-for="i,u in list">&nbsp;&nbsp;{{i}}</i>
		</div>
		
		<script type="text/javascript">
			new Vue({
				el:'#app',
				data(){
					return {
						
						arr:[1,2,3,4],
						list:[{
							name:'君易',id: 1
							},{
							name:'木易',id: 1
							},{
								name:'曦曦',id:1
								}]
					}
				}
			});
			
		</script>
	</body>
</html>

效果

扩展(下拉框)

代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js"></script>
		<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.js"></script>
		<title>Vue-指令</title>
	</head>
	<body>
		<div id="app">
		
			<p>下拉框</p>
			<select>
				<option v-for = "h in hobby" value="h.id">{{h.name}}</option>
			</select>
			
		</div>
		
		<script type="text/javascript">
			new Vue({
				el:'#app',
				data(){
					return {
						score:69,
						name:false,
						arr:[1,2,3,4],
						list:[{
							name:'君易',id: 1
							},{
							name:'木易',id: 1
							},{
								name:'曦曦',id:1
								}],
						hobby:[{
							name:'洗浴',id: 1
							},{
							name:'按摩',id: 2
							},{
								name:'SPA',id:3
								}]
					}
				}
			});
			
		</script>
	</body>
</html>

 效果

 因此,像复选框也可以类似实现。

四、动态传参

代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js"></script>
		<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.js"></script>
		<title>Vue-指令</title>
	</head>
	<body>
		<div id="app">
			
			
			<p>动态参数</p>
			<input v-model="evname"/>
			<button v-on:[evname]="test" >点击</button>
			
		</div>
		
		<script type="text/javascript">
			new Vue({
				el:'#app',
				data(){
					return {
						score:69,
						name:false,
						arr:[1,2,3,4],
						list:[{
							name:'君易',id: 1
							},{
							name:'木易',id: 1
							},{
								name:'曦曦',id:1
								}],
						hobby:[{
							name:'洗浴',id: 1
							},{
							name:'按摩',id: 2
							},{
								name:'SPA',id:3
								}],
						evname:'click'
					};
				},methods:{
					test(){
						alert("嘻嘻,你好啊");
					}
				}
			});
			
		</script>
	</body>
</html>

 效果

 会根据你输入框内的字段判断是那个事件并执行该事件的效果

五、过滤器

1. 局部过滤器

代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js"></script>
		<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.js"></script>
		<title>Vue-过滤器</title>
	</head>
	<body>
		<div id="app">
			<p>局部过滤器</p>
			未使用: {{msg}} <br />
			使用后:{{msg | filterA}}
		</div>
		
		<script type="text/javascript">
			new Vue({
				el:'#app',
				filters:{
					'filterA':function(x){
						return x.substring(0,6);
					}
				},
				data(){
					return {
						msg:"木易与曦曦,愿相伴于一生"
				};
				}
			});
			
		</script>
	</body>
</html>

效果

2.局部过滤器串联使用

代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js"></script>
		<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.js"></script>
		<title>Vue-过滤器</title>
	</head>
	<body>
		<div id="app">
		
			<p>局部过滤器串联使用</p>
			未使用: {{msg}} <br />
			使用后:{{msg | filterA | filterB}}
		</div>
		
		<script type="text/javascript">
			new Vue({
				el:'#app',
				filters:{
					'filterA':function(x){
						return x.substring(0,6);
					},
					'filterB':function(x){
						return x.substring(2,5);
					}
				},
				data(){
					return {
						msg:"木易与曦曦,愿相伴于一生"
				};
				}
			});
			
		</script>
	</body>
</html>

效果

3. 局部过滤器传参

代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js"></script>
		<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.js"></script>
		<title>Vue-过滤器</title>
	</head>
	<body>
		<div id="app">
			
			<p>局部过滤器传参</p>
			未使用: {{msg}} <br />
			使用后:{{msg | filterC(3,10)}}
		</div>
		
		<script type="text/javascript">
			new Vue({
				el:'#app',
				filters:{
					'filterA':function(x){
						return x.substring(0,6);
					},
					'filterB':function(x){
						return x.substring(2,5);
					},
					'filterC':function(x,begin,end){
						return x.substring(begin,end);
					}
				},
				data(){
					return {
						msg:"木易与曦曦,愿相伴于一生"
				};
				}
			});
			
		</script>
	</body>
</html>

效果

4. 全局过滤器

代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js"></script>
		<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.js"></script>
	<script type="text/javascript" src="date.js" charset="utf-8"></script>
		<title>Vue-过滤器</title>
		
	</head>
	<body>
		<div id="app">
		
			
			<p>全局过滤器使用</p>
			未使用: {{time}} <br />
			使用后:{{time | fmtDateFilter}}
		</div>
		
		<script type="text/javascript">
			Vue.filter('fmtDateFilter',function(value){
				return fmtDate(value);
			})
			
			new Vue({
				el:'#app',
				filters:{
					'filterA':function(x){
						return x.substring(0,6);
					},
					'filterB':function(x){
						return x.substring(2,5);
					},
					'filterC':function(x,begin,end){
						return x.substring(begin,end);
					}
				},
				data(){
					return {
						msg:"木易与曦曦,愿相伴于一生",
						time:new Date()
					
				};
				}
			});
			
		</script>
	</body>
</html>

效果

六、计算属性及监听属性

1. 计算属性

代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js"></script>
		<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.js"></script>
	<script type="text/javascript" src="date.js" charset="utf-8"></script>
		<title>Vue-过滤器</title>
		
	</head>
	<body>
		<div id="app">
			<p>计算属性</p>
			价格:<input v-model="price" />
			数量:<input v-model="count" />
			总额:¥{{sum}}
		</div>
		
		<script type="text/javascript">
			new Vue({
				el:'#app',
				data(){
					return {
						price:88,
						count:5
					
				};
				},
				computed:{
					sum:function(){
						return this.price*this.count;
					}
				}
			});
			
		</script>
	</body>
</html>

效果

2. 监听属性

代码 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js"></script>
		<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.js"></script>
	<script type="text/javascript" src="date.js" charset="utf-8"></script>
		<title>Vue-过滤器</title>
		
	</head>
	<body>
		<div id="app">
			
			<p>监听属性</p>
			千米:<input v-model="km"/><br />
			米: <input v-model="m"/> <br />
			
		</div>
		
		<script type="text/javascript">
			new Vue({
				el:'#app',
				data(){
					return {
						
					    km:1,
						m:1000
				};
			},
				
				watch:{
					km:function(v){
						this.m=parseInt(v)*1000;
					},
					m:function(v){
						this.km=parseInt(v)/1000;
					}
				}
			});
			
		</script>
	</body>
</html>

效果

 注:

计算属性是单方面一方影响另一方;而监听属性是双方影响双方,一方数据发生改动则另一方也发生改动。

七、模拟购物车案例

代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<!-- 导入js依赖文件 -->
		<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js"></script>
		<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.js"></script>
		<title>君易商城</title>
		<style>
			table{
				border:1px solid darkseagreen;
			    border-collapse: collapse; /* 合并边框 */
			}
			 td {
			    border: 1px solid black; /* 设置边框样式、宽度和颜色 */
			  }
		</style>
	</head>
	<body style="text-align: center;">
	<h1>君易商城购物车</h1>
	<div id="app">
	    <table cellpadding=0 style="width: 100%;">
	        <thead>
	        <tr>
	            <th>商品名</th>
	            <th>商品价格</th>
	            <th>数量</th>
	            <th>小计</th>
	        </tr>
	        </thead>
	        <tbody>
	        <tr>
	            <td>机械革命键盘</td>
	            <td>{{jppri}}</td>
	            <td>
	                &nbsp;<input type="text" v-model="jp"/>&nbsp;
	            </td>
	            <td>{{jpsum}}</td>
	        </tr>
	        <tr>
	            <td>雷蛇鼠标</td>
	            <td>{{sbpri}}</td>
	            <td>
	                &nbsp;<input type="text" v-model="sb">&nbsp;
	            </td>
	            <td>{{sbsum}}</td>
	        </tr>
	        <tr>
	            <td>雷神911</td>
	            <td>{{lspri}}</td>
	            <td>
	                &nbsp;<input type="text" v-model="ls">&nbsp;
	            </td>
	            <td>{{lssum}}</td>
	        </tr>
	        <tr>
	            <td colspan="3" style="text-align: right;">总计</td>
	            <td>¥{{ssum}}</td>
	        </tr>
	        </tbody>
	    </table>
	</div>
	</body>
	
		<script type="text/javascript">
			new Vue({
				el:'#app',
				data(){
					return {
						 jppri: 299,
						  sbpri: 99,
						  lspri: 19999,
						  jp: 2,
						  sb: 2,
						  ls: 1,
					}
				},
				computed:{
					jpsum:function(){
						return this.jppri*this.jp;
					},
					sbsum:function(){
						return this.sbpri*this.sb;
					},
					
					lssum:function(){
						return this.lspri*this.ls;
					},
					ssum:function(){
						return this.jpsum+this.sbsum+this.lssum;
					}
				},
				
			});
			
		</script>
	</body>
</html>

效果

 本期的分享到此结束,希望老铁三连支持一波

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

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

相关文章

selenium中ActionChains方法详细讲解

前言 本文将介绍Selenium中的ActionChains类及其使用方法&#xff0c;帮助您模拟用户在网页上的鼠标和键盘操作。了解ActionChains的常用方法和示例代码&#xff0c;可轻松实现移动鼠标、点击元素、拖拽元素等操作。通过本文的学习&#xff0c;您能更好地应用ActionChains解决自…

Oracle for Windows安装和配置——Oracle for Windows软件安装

2. Oracle for Windows安装和配置 2.1. Oracle for Windows软件安装 2.1.1. 准备Oracle软件 1&#xff09;下载或拷贝安装软件 下载地址:otn.oracle.com或my oracle support。下载文件列表。具体如图2.1.1-1所示。 图2.1.1-1 下载文件列表 --说明&#xff1a; 1&#xff0…

flink-connector-mysql-cdc

FlinkCDC是一个实现CDC(Change Data Capture)思想的数据同步工具。 借助于Flink CDC Connector &#xff0c;它监听数据库的二进制日志文件&#xff0c;来获取数据库变更的数据&#xff0c;以此实现数据同步。 1. 下载Flink 及 对应版本的 Flink CDC FlinkCDC 支持的 Connect…

升级:远程桌面软件玩游戏指南

你有没有遇到过这样的场景&#xff1a;你想玩一款特定的游戏&#xff0c;但却受到设备功能的限制&#xff1f;这就是游戏远程桌面的概念变得非常宝贵的地方。从本质上讲&#xff0c;它允许您远程利用高端游戏计算机的功能&#xff0c;使您能够在自己的设备上玩游戏。 可以考虑…

四、JAVA语言基础

JAVA语言基础 JAVA语言基础1.1.Java主类结构1.1.1.包声明1.1.2.声明成员变量和局部变量1.1.3.编写主方法1.1.4.导入API类库 —————————————————————————————————————————————————— JAVA语言基础 很多人认为在学习Java语言之…

uni-app 之 文字分两行显示超出用省略号表示

uni-app 之 文字分两行显示超出用省略号表示 vue 将一大串文字分两行显示超出用省略号表示 通过css设置文字强制不换行超出用省略号表示: {white-space: nowrap; 文本强制不换行&#xff1b;text-overflow:ellipsis; 文本溢出显示省略号&#xff1b;overflow:hidden; 溢出的部…

QTabWidget 类 (选项卡部件)

1、 QTabWidget 类直接继承自 QWidget。该类提供了一个选项卡栏(QTabBar)和一个相应的页 面区域&#xff0c;用于显示与每个选项卡相对应的页面。 与 QStackedLayout 布局原理相同&#xff0c;只有 当前页面(即可见页面)是可见的&#xff0c;所有其他页面都不可见&#xff0c;用…

数字藏品交易系统有哪些特点?

数字藏品交易系统具有以下特点&#xff1a; 去中心化&#xff1a;数字藏品交易系统通常采用去中心化的架构&#xff0c;不依赖于单一的中央机构或权威来管理交易。这意味着交易可以在全球范围内进行&#xff0c;无需中间人。 区块链技术&#xff1a;大多数数字藏品交易系统借助…

小区物业管理缴费报修活动报名商城小程序开源版开发

小区物业管理缴费报修活动报名商城小程序开源版开发 以下是小区物业管理缴费报修活动报名商城小程序开源版的功能列表&#xff1a; 用户注册和登录小区信息展示&#xff08;包括小区简介、周边设施等&#xff09;物业公告显示和发布功能小区物业费用查询和缴费功能基础设施报…

解决安装wsl时候报错的问题: WslRegisterDistribution failed with error: 0x800701bc

在Win10 或者Win 11上安装wsl的时候&#xff0c;可能会遇到如下的错误信息&#xff1a; Error: 0x800701bc WSL 2 ?????????????????? https://aka.ms/wsl2kernel Press any key to continue... 这个是由于系统内置的WSL内核过低导致的&#xff0c;可以到如…

node的服务端对接科大讯飞-火星ai解决方案

序&#xff1a; 官方给的node对接火星的demo其实只适用于node开发的web应用&#xff0c;但是对于纯node 作为服务端&#xff0c;也就是作为webapi来调用&#xff0c;你会发现&#xff0c;location.host直接是获取不到location的。这个时候&#xff0c;其实要单独起个wss的服务的…

C盘满了,应该清理哪些地方

有时候电脑用着用着C盘就满了&#xff0c;其实大多数原因是因为C:\Users\用户名\AppData下的文件夹下被你的程序软件不断地塞入了各种文件导致的。几乎你在电脑上安装的每个程序都会在AppData 文件夹中创建自己的文件夹&#xff0c;并将该程序的所有相关信息存储在那里。 为了…

类模板深度剖析

类模板可以定义任意多个不同的类型参数 类模板可以被特化 可以指定类模板的特定实现 部分类型参数必须显示指定 根据类型参数分开实现类模板 类模板的特化类型 部分特化 - 用特定规则约束类型参数 完全特化 - 完全显示指定类型参数 类模板特化注意事项 特化只是模板的分开…

官宣 | 2023第四届ISIG中国产业智能大会报名开启

由企智未来科技&#xff08;RPA中国、LowCode低码时代、AIGC开放社区&#xff09;主办的第四届「ISIG中国产业智能大会」将于12月初在上海召开&#xff0c;本届主题为“与科技共赢&#xff0c;与产业共进”。在此次大会中&#xff0c;我们将设立RPA超自动化、低代码/零代码、流…

docker-compose使用

docker-compose docker的项目编排 一、安装docker-compose Rocky Linux Rocky Linux安装Docker Compose的步骤如下&#xff1a; 安装Docker。您可以使用以下命令安装Docker&#xff1a; sudo dnf install docker-ce docker-ce-cli containerd.io安装Docker Compose。您可以…

渗透中 POC、EXP、Payload、Shellcode 的区别

渗透中 PoC、Exp、Payload、Shellcode 的区别 不同含义&#xff1a; POC Proof of Concept中文意思是“观点证明”。这个短语并非仅仅在漏洞报告中使用&#xff0c;甲方在项目招标过程中也常常要求乙方提供POC&#xff0c;即证明你的方案或者产品能达到声称的功能或性能&…

VMware ESXI vCenter 开启 SNMP 方法:

需要监控 ESXI 和 vSphere 系统的状态&#xff0c;开启默认的 SNMP 一、VMware ESXI 开启 SSH 登录到ESXI上执行命令如下&#xff1a; [rootESXI:~] esxcli system snmp set --enable true [rootESXI:~] esxcli system snmp set --communities public [rootESXI:~] esxcli …

IPO解读丨“停车场”以外的故事,智慧互通如何书写?

智能交通赛道或将迎来一家上市公司。 近日&#xff0c;智慧互通科技股份有限公司&#xff08;下称“智慧互通”&#xff09;在河北证监局进行上市辅导备案登记&#xff0c;辅导机构为中信证券。 这家成立于2015年的公司&#xff0c;致力于用AI赋能交通&#xff0c;打造城市级…

中国又一利器”遥遥领先″?纳米RAM市场增长趋势正式超越美国!

纳米RAM是一种前沿的存储技术&#xff0c;利用纳米级工艺技术制造而成&#xff0c;具有极高的存储密度和读写速度。相较于传统的RAM技术&#xff0c;纳米RAM具有更高的可靠性、更低的能耗以及更强的耐久性。这些优势使得纳米RAM成为未来高密度存储和高速计算领域极具潜力的技术…

ros2 安装UR机器人仿真包

1.ros2的版本如下 2.在码云上找到UR驱动包 GitHub很多时候都是无法打开的&#xff0c;但是码云可以复制这个GitHub上的包&#xff0c;别人已经复制好了。可以用连接如下&#xff1a; universal_robots_ros2_driver 3.查看该包的readme文件 这里面有介绍使用二进制安装&#…