Vue入门一(前端发展史|Vue介绍|Vue插值语法|Vue指令|style与class使用|条件渲染)

文章目录

  • 一、前端的发展史
  • 二、Vue介绍 和 基本使用
    • 1) Vue介绍
    • 2) Vue特点
    • 3) M-V-VM思想
      • 1.MVVM介绍
      • 2.MVVM的特性
      • 3.MVVM逻辑
    • 4) 组件化开发、单页面开发
      • 组件化开发
      • 单页面开发
    • 5) 引入方式
    • 6) 补充
      • 解释型的语言是需要解释器的
    • nodejs:一门后端语言
    • 7) 快速使用
  • 三、Vue之插值语法
  • 四、Vue指令系统之文本指令
  • 五、Vue指令系统之事件指令
  • 六、Vue指令系统之属性指令
  • 七、Style和Class的使用
  • 八、条件渲染

一、前端的发展史

  1. HTML(5)+CSS(3)+JavaScript(ES5、ES6):编写一个个的页面 -> 给后端(PHP、Python、Go、Java) -> 后端嵌入模板语法 -> 后端渲染完数据 -> 返回数据给前端 -> 在浏览器中查看

  2. Ajax的出现 -> 后台发送异步请求,Render+Ajax混合

  3. 单用Ajax(加载数据,DOM渲染页面):前后端分离的雏形

  4. Angular框架的出现(1个JS框架):出现了“前端工程化”的概念(前端也是1个工程、1个项目)

  5. React、Vue框架:当下最火的2个前端框架(Vue:国人喜欢用,React:外国人喜欢用)

  6. 移动开发(Android+IOS) + Web(Web+微信小程序+支付宝小程序) + 桌面开发(Windows桌面):前端 -> 大前端

  7. 一套代码在各个平台运行(大前端):谷歌Flutter(Dart语言:和Java很像)可以运行在IOS、Android、PC端

  8. 在Vue框架的基础性上 uni-app:一套编码 编到10个平台

详细的发展史:https://zhuanlan.zhihu.com/p/337276087?utm_source=wechat_session&utm_medium=social&utm_oi=41967790587904


二、Vue介绍 和 基本使用

1) Vue介绍

Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架

与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用

Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合

渐进式框架

可以一点一点地使用它,只用一部分,也可以整个工程都使用它

Vue官网:https://cn.vuejs.org/

2) Vue特点

	
	容易上手,通过 HTML、CSS、JavaScript构建应用
	灵活
		不断繁荣的生态系统,可以在一个库和一套完整框架之间自如伸缩。
	高效
		20kB min+gzip 运行大小
		超快虚拟 DOM
		最省心的优化

	版本:
		1.X:使用较少
		2.X: 使用人较多
		3.X: 出了很久,公司新项目会选择
			注:语法有差距,但是Vue3完全兼容Vue2,可以在Vue3上写Vue2,但是官方不建议了

3) M-V-VM思想

1.MVVM介绍

MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,是一种事件驱动编程方式

  • Model :vue对象的data属性里面的数据,这里的数据要显示到页面中
  • View :vue中数据要显示的HTML页面,在vue中,也称之为“视图模板” (HTML+CSS)
  • ViewModel:vue中编写代码时的vm对象,它是vue.js的核心,负责连接 View 和 Model数据的中转,保证视图和数据的一致性,所以前面代码中,data里面的数据被显示中p标签中就是vm对象自动完成的(双向数据绑定:JS中变量变了,HTML中数据也跟着改变)

在这里插入图片描述

2.MVVM的特性

  • 低耦合视图(View)可以独立于Model变化和修改,1个ViewModel可以绑定到不同的View上,当View变化的时候 Model可以不变,当Model变化的时候 View也可以不变
  • 可复用:可以把一些视图逻辑放在1个ViewModel中,让很多View重用这端视图的逻辑(以此减少代码冗余)
    独立开发:开发人员可以专注于业务逻辑数据的开发(ViewModel),设计人员可以专注于页面设计
  • 可测试:界面元素是比较难以测试的,而现在的测试可以针对ViewModel来编写

3.MVVM逻辑

在这里插入图片描述

4) 组件化开发、单页面开发

组件化开发

类似于DTL中的include,每一个组件的内容都可以被替换和复用

在这里插入图片描述

单页面开发

  • 只需要1个页面,结合组件化开发来替换页面中的内容,页面的切换只是组件的替换,页面还是只有1个index.html

5) 引入方式

CDN的方式引入

	<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.7.0/vue.js"></script>

下载后导入

其实就是直接在浏览器中打开https://cdn.jsdelivr.net/npm/vue/dist/vue.js,然后复制下来,创建一个js文件再粘贴进去

	<script src="js/vue.js"></script>=

6) 补充

解释型的语言是需要解释器的

  • js就是一门解释型语言,只不过js解释器被集成到了浏览器中,所以在浏览器的Console中输入命令,就和在cmd中输入python后,进入交互式环境一样

nodejs:一门后端语言

  • 把chrome的v8引擎(解释器),安装到操作系统之上

7) 快速使用

  • vue 就是js框架—》渐进式—》
  • 新建一个 xx.html—>引入vue(跟之前引入jq一模一样)
  • 写vue语法,实现操作
	<!DOCTYPE html>
	<html lang="en">
	<head>
	    <meta charset="UTF-8">
	    <title>Document</title>
	    <script src="https://cdn.bootcdn.net/ajax/libs/vue/2.7.0/vue.js"></script>
	</head>
	
	<body>
	    <div id="vid">
	        <h1>{{v}}</h1>
	    </div>
	
	</body>
	<script>
	    new Vue({
	        el:'#vid',
	        data:{
	            v:'hello world',
	        },
	    })
	</script>
	</html>

三、Vue之插值语法

语法:{{ 变量、js语法、三目表达式 }}

	<!DOCTYPE html>
	<html lang="en">
	<head>
	    <meta charset="UTF-8">
	    <title>插值</title>
	    <script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.12/vue.min.js"></script>
	</head>
	<body>
	
	<div id="box">
	    <ul>
	        <li>字符串:{{name}}</li>
	        <li>数值:{{age}}</li>
	        <li>数组:{{list1}}</li>
	        <li>对象:{{obj1}}</li>
	        <li>字符串:{{link1}}</li>
	        <li>运算:{{10+20+30+40}}</li>
	        <li>三目运算符:{{10>20?'是':'否'}}</li>
	    </ul>
	</div>
	
	</body>
	<script>
	    let vm = new Vue({
	        el: '#box', // 在box这个div中可以写 vue的语法
	        data: {
	            name: 'Darker', // 字符串
	            age: 18, // 数值
	            list1: [1,2,3,4],   // 数组
	            obj1: {name: 'Darker', age: 19}, // 对象
	            link1: '<a href="https://www.baidu.com">百度一下 你就知道</a>'
	        }
	    })
	</script>
	</html>

在这里插入图片描述

四、Vue指令系统之文本指令

指令释义
v-html让HTML渲染成页面(把变量渲染到标签中,如果之前有数据,覆盖掉)
v-text标签内容显示js变量对应的值(如果是标签字符串,会把标签渲染到标签内)
v-show放1个布尔值:为真 标签就显示;为假 标签就不显示
控制标签的显示与隐藏,但是它是通过style的display控制的:style="display:none;"
v-if放1个布尔值:为真 标签就显示;为假 标签就不显示
控制标签的显示与隐藏,但是它是通过dom的增加和删除
	<!DOCTYPE html>
	<html lang="en">
	<head>
	    <meta charset="UTF-8">
	    <title>Document</title>
	    <!-- <script src="https://cdn.bootcdn.net/ajax/libs/vue/2.7.0/vue.js"></script> -->
	    <script src="./js/vue.js"></script>
	</head>
	
	<body>
	    <div id="vid">
	        <h3>v-text:引号中放跟之前插值放的一样</h3>
	        <p v-text="v"></p>
	        <hr>
	        <h3>v-html:引号中放的跟之前插值放的一样,但是能把标签渲染</h3>
	        <p v-html="h"></p>
	        <hr>
	        <h3>v-show:控制标签显示与否,没有删除标签,只是隐藏:display:none</h3>
	        <img src="./img/1.jpg" v-show="show" style="width:50px;height:50px;border:1px solid black;">
	        <hr>
	        <h3>v-if:控制标签显示与否 直接把标签删除</h3>
	        <img src="./img/2.jpg" v-if="if_show" style="width:50px;height:50px;border:1px solid black;">
	    </div>

	</body>
	<script>
	    var vm = new Vue({
	        el:'#vid',
	        data:{
	            h:'<a href="https://www.baidu.com">点我看美女</a>',
	            show:true,
	            if_show:true,
	        },
	    })
	</script>
	</html>

在这里插入图片描述


五、Vue指令系统之事件指令

事件指令是指:点击事件/双击事件/滑动事件,最常用的是点击事件click

指令释义例子
v-on触发事件(不推荐v-on:click=“handleClick”
@触发事件(推荐@事件名=‘函数’
@[event]触发event事件(可以是其他任意事件)
	<!DOCTYPE html>
	<html lang="en">
	<head>
	    <meta charset="UTF-8">
	    <title>Document</title>
	    <!-- <script src="https://cdn.bootcdn.net/ajax/libs/vue/2.7.0/vue.js"></script> -->
	    <script src="./js/vue.js"></script>
	</head>
	
	<body>
	    <div id="vid">
	        <h1>-----图像消失-----</h1>
	        <!--v-on:click-->
	        <button @click="showhidden" style="cursor:pointer" title="点点试试看?">点击消失</button>
	        <p>
	        <span v-if="show">
	            <img src="./img/1.jpg" style="width:100px;height:100px;border-radius:50%;">
	        </span>
	        <p>
	
	        <h3>事件指令之参数问题:正常有几个参数就传几个参数即可(前端无论多传或少传都不会报错)</h3>
	        <button @click="first()">函数需要参数,但是没传,默认会把event事件传入</button>
	        <p>
	        <button @click="second('jack',18)">函数需要参数,但是多传了,多传的不会接收</button>
	        <p>
	        <button @click="third('tom',18)">函数需要几个参数,就传递几个参数</button>
	    </div>
	
	
	
	</body>
	<script>
	    var vm = new Vue({
	        el:'#vid',
	        data:{
	            show:true,
	        },
	
	        methods:{
	            //事件指令
	            showhidden:function(){
	                this.show = !this.show  //!取反的意思
	                console.log(this.show)
	            },
	            //事件指令参数问题
	            first:function(name){
	                console.log('事件first')
	                console.log(name)
	                // alert(name)
	            },
	            second:function(name){
	                console.log('事件second')
	                console.log('你的名字是:'+name)
	                // alert('你的名字是:'+name)
	            },
	            third:function(name,age){
	                console.log('事件third')
	                console.log('你的名字是:'+name+','+'你的年龄是:'+age)
	                // alert('你的名字是:'+name+','+'你的年龄是:'+age)
	            }
	
	        }
	    })
	</script>
	</html>

在这里插入图片描述

总结

	事件指令的两种方法:
	"v-on:事件名='showhidden'"
	<button v-on:click="函数">XXXX</button>
	<button @click="showhidden">XXXX</button>

	方法必须放在methods中
      methods: {
            showhidden: function () {
                this.show = !this.show  // ! 取反
            }
        }

	事件指令函数带参数说明:
		需要1个,但是没有传,会把事件传入undefined
		需要1个,但是传了两个,也只会接收第一个参数
		需要2个,传了两个,没问题

六、Vue指令系统之属性指令

语法:v-bind:属性名="变量名" 可简写成 :属性名="变量名"

指令释义
v-bind直接写js的变量或语法(不推荐)
:直接写js的变量或语法(推荐)
	<!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>Document</title>
	    <!-- <script src="https://cdn.bootcdn.net/ajax/libs/vue/2.7.0/vue.js"></script> -->
	    <script src="./js/vue.js"></script>
	</head>
	
	<body>
	    <div id="vid">
	        <h1>换图像示例</h1>
	        <button v-on:click="handlerChange" style="cursor:pointer" title="点点试试看?">点击切换</button>
	        <p>
	        <!--属性指令简写:src-->
	        <img v-bind:src="image_change"  style="width:100px;height:100px;border-radius:50%;border:1px solid rgb(117, 117, 117);">
	    </div>
	
	
	    
	
	</body>
	<script>
	    var vm = new Vue({
	        el:'#vid',
	        data:{
	            //属性指令
	            image_change:'./img/1.jpg',
	            list:['./img/1.jpg','./img/2.jpg','./img/3.jpg','./img/4.jpg'],
	        },
	        //点击事件更换图像
	        methods:{
	            //方法一:
	            handlerChange:function(){
	                //随机从list中拿出一个值
	                //统计数组的长度,后取出一个随机数索引0-数组总长度之间的整数
	
	                console.log(Math.floor(Math.random()*(this.list.length)))
	                this.image_change=this.list[Math.floor(Math.random()*(this.list.length))]
	
	            }
	            //方法二:
	            // handlerChange:function(){
	            //     var c = Math.ceil(Math.random()*4)
	            //     console.log(c)
	            //     this.image_change=`./img/${c}.jpg`
	            // }
	        }
	
	    })
	</script>
	</html>

在这里插入图片描述


七、Style和Class的使用

	class:推荐用数组  
		:class='变量'   
	    变量可以是字符串,数组,对象
    
    
	style:推荐用对象
		:style='变量'   
	    变量可以是字符串,数组,对象
	<!DOCTYPE html>
	<html lang="en">
	<head>
	    <meta charset="UTF-8">
	    <title>Document</title>
	    <script src="./js/vue.js"></script>
	    <style>
	        .background{
	            background-color:lightblue;
	        }
	        .fontsize{
	            font-size:2em;
	        }
	    </style>
	</head>
	
	<body>
	    <div id='div'>
	        <h1>class可以绑定的类型</h1>
	            <h3>class-----》字符串形式</h3>
	            <button @click="handlechange1">点击添加属性</button>
	            <p>
	            <span :class="str_class">加加看?</span>
	            <hr>
	            <h3>class-----》数组的形式</h3>
	            <button @click="handlechange2">点击添加属性</button>
	            <p>
	            <span :class="list_class">加加看?</span>
	            <hr>
	            <h3>class-----》对象的形式</h3>
	            <button @click="handlechange3">点击添加属性</button>
	            <p>
	            <span :class="obj_class">加加看?</span>
	        
	        <p>
	        <h1>style可以绑定的类型</h1>
	            <h3>style-----》字符串形式</h3>
	            <button @click="handlechange4">点击添加属性</button>
	            <p>
	            <span :style="str_style">加加看?</span>
	            <hr>
	            <h3>style-----》数组的形式</h3>
	            <button @click="handlechange5">点击添加属性</button>
	            <p>
	            <span :style="list_style">加加看?</span>
	            <hr>
	            <h3>style-----》对象的形式</h3>
	            <button @click="handlechange6">点击添加属性</button>
	            <p>
	            <span :style="obj_style">加加看?</span>
	            <hr>
	
	
	    </div>
	
	    <script>
	        var div = new Vue({
	            el:'#div',
	            data:{
	                str_class:'background',
	                list_class:['background'],
	                obj_class:{'background':true,'fontsize':false},
	                str_style:'background-color:lightblue',
	                list_style:[{'background-color':'lightblue'}],
	                obj_style:{'background-color':'lightblue'},
	            },
	            methods:{
	                handlechange1:function(){
	                    this.str_class=this.str_class+' fontsize'
	                },
	                handlechange2:function(){
	                    this.list_class.push('fontsize')
	                },
	                handlechange3:function(){
	                    // this.obj_class['fontsize']=true
	                    this.obj_class.fontsize=true
	                },
	                handlechange4:function(){
	                    this.str_style=this.str_style+';font-size:2em'
	                },
	                handlechange5:function(){
	                    // this.list_style.push({'font-size':'2em'})
	                    //可以不写横杠,直接使用驼峰方式
	                    this.list_style.push({'fontSize':'2em'})
	                },
	                handlechange6:function(){
	                    //对象新增的属性,div监控不到,就无法实现响应式
	                    //但是对象中原来有的属性,修改是能监控到的
	                    //this.obj_style['background-color']='red'
	                    
	
	                    //原来对象中没有值的,就能监控到,但是如果
	                    Vue.set(this.obj_style,'font-size','2em')
	                },
	
	            }
	
	        })
	    </script>
	</body>
	
	</html>

在这里插入图片描述


八、条件渲染

指令释义
v-if相当于: if
v-else相当于:else
v-else-if相当于:else if
	v-if=条件  放在标签上,如果条件成立,该标签就现实,如果条件不成立,该标签就不显示
	v-else-if=条件  放在标签上,如果条件成立,该标签就现实,如果条件不成立,该标签就不显示
	v-else     放在标签上,上面条件都不成立,显示这个标签
	<!DOCTYPE html>
	<html lang="en">
	<head>
	    <meta charset="UTF-8">
	    <title>Document</title>
	    <script src="../js/vue.js"></script>
	</head>
	
	<body>
	    <div id="div">
	        <span v-if="source>=90&&source<=100">优秀</span>
	        <span v-else-if="source>80&&source<90">良好</span>
	        <span v-else-if="source>70&&source<80">一般</span>
	        <span v-else>瑕疵</span>
	    </div>
	
	    <script>
	        var div = new Vue({
	            el:'#div',
	            data:{
	                source:99,
	            }
	        })
	    </script>
	</body>
	
	</html>

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript异常处理详解

前言 本文将带你了解 JavaScript 中常见的错误类型&#xff0c;处理同步和异步 JavaScript代码中错误和异常的方式&#xff0c;以及错误处理最佳实践&#xff01; 1. 错误概述 JavaScript 中的错误是一个对象&#xff0c;在发生错误时会抛出该对象以停止程序。在 JavaScript…

代码随想录刷题题Day26

刷题的第二十六天&#xff0c;希望自己能够不断坚持下去&#xff0c;迎来蜕变。&#x1f600;&#x1f600;&#x1f600; 刷题语言&#xff1a;C Day26 任务 ● 动态规划理论基础 ● 斐波那契数 ● 爬楼梯 ● 使用最小花费爬楼梯 1 动态规划理论基础 对于动态规划问题&#x…

小白入门基础 - spring Boot 入门

1.简介 spring Boot是为了简化java的开发流程而构建的&#xff0c;即使是使用springMVC框架&#xff0c;也依然需要大量配置和依赖导入&#xff0c; 这无疑是繁琐的&#xff0c;spring Boot采用了”习惯由于配置“的原则&#xff0c;进行一键化部署&#xff0c;这样极大…

【建议收藏】一文全面解读Linux最常用的解压缩命令(tar、zip、unzip、gzip、guznip、bzip2、bunzip2)

一文全面解读Linux最常用的解压缩命令&#xff08;tar、zip、unzip、gzip、guznip、bzip2、bunzip2&#xff09;&#xff0c;建议收藏 文章目录 一文全面解读Linux最常用的解压缩命令&#xff08;tar、zip、unzip、gzip、guznip、bzip2、bunzip2&#xff09;&#xff0c;建议收…

2017年AMC8数学竞赛中英文真题典型考题、考点分析和答案解析

昨天&#xff0c;六分成长给大家了做了一套2024年AMC8比赛的全真模拟试题&#xff0c;40分钟&#xff0c;25道题&#xff0c;并且提供了答案&#xff0c;所有试题来自过去20年的真题&#xff0c;不知道你做对了多少&#xff1f;一定要让孩子抽40分钟&#xff0c;认真的做一做&a…

mnn-llm: 大语言模型端侧CPU推理优化

在大语言模型(LLM)端侧部署上&#xff0c;基于 MNN 实现的 mnn-llm 项目已经展现出业界领先的性能&#xff0c;特别是在 ARM 架构的 CPU 上。目前利用 mnn-llm 的推理能力&#xff0c;qwen-1.8b在mnn-llm的驱动下能够在移动端达到端侧实时会话的能力&#xff0c;能够在较低内存…

数字人克隆:人类科技进步的里程碑

数字人克隆&#xff0c;作为一项引起广泛争议和关注的科技创新&#xff0c;正在逐渐走向我们的生活。它是将人的意识和思想复制到数字化的实体中&#xff0c;从而使之与真正的人类无异。数字人克隆的出现不仅引发了人们对道德伦理问题的讨论&#xff0c;也给人类社会带来了巨大…

频率域图像增强之理想低通滤波器的python实现——数字图像处理

原理 理想低通滤波器&#xff08;Ideal Low-Pass Filter, ILPF&#xff09;是数字图像处理中一个重要的概念&#xff0c;尤其在频率域滤波中扮演着关键角色。 定义&#xff1a; 理想低通滤波器是一种在频率域内工作的滤波器&#xff0c;旨在通过允许低频信号通过同时阻止高频信…

mysql5.7安装-windwos免安装版本

下载地址 官网地址:https://www.mysql.com/官网下载地址:https://dev.mysql.com/downloads/mysql/阿里云镜像站下载:https://mirrors.aliyun.com/mysql/华为云镜像站地址:https://mirrors.huaweicloud.com/home华为云镜像站下载:https://mirrors.huaweicloud.com/mysql/Downlo…

MSVCP140_1.dll文件丢失的解决方法指南,MSVCP140_1.dll最快捷的修复手段

在近些年里&#xff0c;随着电脑技术的迅猛进步&#xff0c;我们对操作系统变得越来越依赖。然而&#xff0c;在使用过程中&#xff0c;我们也可能偶遇一些技术挑战&#xff0c;比如遇到 MSVCP140_1.dll 文件丢失的问题。本文旨在深入探讨这个常见的技术难题&#xff0c;并为大…

跑通大模型领域的 hello world

跑通书生浦语大模型的 3 个趣味 demo&#xff08;InternLM-Chat-7B 智能对话、Lagent工具调用解简单数学题、浦语灵笔多模态图文创作和理解&#xff09;视频和文档。 1、两个框架 InternLM 是⼀个开源的轻量级训练框架&#xff0c;旨在⽀持⼤模型训练⽽⽆需⼤量的依赖。 Lage…

瞧瞧别人家的电商【淘宝1688京东】API接口,那叫一个优雅

淘宝、京东等电商平台的API接口确实非常强大和优雅&#xff0c;它们提供了丰富的功能和数据&#xff0c;使得开发者可以轻松地与平台进行交互&#xff0c;实现各种应用和功能。 以下是一些可能会让你感到优雅的淘宝、京东等电商平台的API接口特点&#xff1a; 接口设计简洁明…

力扣:15.三数之和

1.做题链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 2.做题前须&#xff1a; 两数之和降低复杂度&#xff1a; 1.问题描述&#xff1a;一个数组中找到两个数字之和是taeget 例如&#xff1a;[2,7,11,15,19,21],target30 2.解法一&#xff1a;暴力枚举时间复…

【致远FAQ】V8.0_甘特图能不能实现行表头一级一级显示(树形结构)

问题描述 甘特图能不能实现行表头一级一级显示&#xff08;树形结构&#xff09; 问题解决 设置统计时把合并同类型和显示行合计都勾选上就可以了 效果参考

element中Tree 树形控件实现多选、展开折叠、全选全不选、父子联动、默认展开、默认选中、默认禁用、自定义节点内容、可拖拽节点、手风琴模式

目录 1.代码实现2. 效果图3. 使用到的部分属性说明4. 更多属性配置查看element官网 1.代码实现 <template><div class"TreePage"><el-checkboxv-model"menuExpand"change"handleCheckedTreeExpand($event, menu)">展开/折叠&l…

非接触式红外测温MLX90614

1.MLX90614简介 MX90614是一款由迈来芯公司提供的低成本&#xff0c;无接触温度计。输出数据和物体温度呈线性比例&#xff0c;具有高精度和高分辨率。TO-39金属封装里同时集成了红外感应热电堆探测器芯片MLX81101&#xff08;温度是通过PTC或是PTAT元件测量&#xff09;和信号…

vue简单实现滚动条

背景&#xff1a;产品提了一个需求在一个详情页&#xff0c;一个form表单元素太多了&#xff0c;需要滚动到最下面才能点击提交按钮&#xff0c;很不方便。他的方案是&#xff0c;加一个滚动条&#xff0c;这样可以直接拉到最下面。 优化&#xff1a;1、支持滚动条&#xff0c;…

uniapp 【专题详解 -- 时间】云数据库时间类型设计,时间生成、时间格式化渲染(uni-dateformat 组件的使用)

云数据表的时间类型设计 推荐使用时间戳 timestamp "createTime": {"bsonType": "timestamp","label": "创建时间&#xff1a;" }时间生成 获取当前时间 Date.now() .add({createTime: Date.now() })时间格式化渲染 下载安…

Prototype原型模式(对象创建)

原型模式&#xff1a;Prototype 链接&#xff1a;原型模式实例代码 注解 模式定义 使用原型实例指定创建对象的种类&#xff0c;然后通过拷贝这些原型来创建新的对象。 ——《设计模式》GoF 目的 在软件系统中&#xff0c;经常面临这“某些结构复杂的对象”的创建工作&am…

Chapter 7 - 10. Congestion Management in Ethernet Storage Networks以太网存储网络的拥塞管理

Detecting Congestion on a Remote Monitoring Platform Remote monitoring platforms can monitor all the ports in a network simultaneously to provide network-wide single-pane-of-glass visibility. 远程监控平台可同时监控网络中的所有端口,以提供全网单一窗口可视性…