框架的使用

news2024/12/25 1:23:30

什么是框架?

盖房子,框架结构

框架结构就是房子主体,基本功能

把很多基础功能已经实现(封装了)

框架:在基础语言之上,对各种基础功能进行封装,方便开发者,提高开发效率

举例:操作网页

现在:点击一个按钮,触发事件,获得我们要操作的标签,再对标签内容进行操作

框架:操作网页时,程序员之关注要操作的内容即可,对标签内容的更新等操作都由框架完成

Vue官网:Vue.js (vuejs.org)

前端框架

Vue.Js 是一个js框架,不是代替js的,是对js进行了封装。

Vue官网:Vue.js (vuejs.org)

后端Java框架

mybatis--jdbc

spring...

今天先来入门Vue.js

什么是 Vue.js

Vue (读音 /vju ː /,类似于 view) 是一套用于构建用户界面的渐进式框架。Vue
的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。
Vue.js 是前端的主流框架之一,和 Angular.js、React.js 一起,并成为前端三
大主流框架! https://v2.cn.vuejs.org/

Vue.js 优点

1.体积小 压缩后 33K
2.更高的运行效率
用 JQuery 或者原生的 JavaScript DOM 操作函数对 DOM 进行频繁操作的
时候,浏览器要不停的渲染新的 DOM 树,导致页面看起来非常卡顿。
基于虚拟 dom,一种可以预先通过 JavaScript 进行各种计算,把最终的
DOM 操作计算出来并优化的技术,最后在计算完毕才真正将 DOM 操作提交。
3.双向数据绑定,简化 Dom 操作
通过 MVVM 思想实现数据的双向绑定,让开发者不用再操作 dom 对象,
把更多的精力投入到业务逻辑上.
MVVM 是 Model-View-ViewModel 的简写。MVVM 就是将其中的 View 的
状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。

如图:

view就是网页标签

viewmodel是vue框架

model是js中的数据对象

4 生态丰富、学习成本低
市场上拥有大量成熟、稳定的基于 vue.js 的 ui 框架、常用组件!来即用实现
快速开发!对初学者友好、入门容易、学习资料多.
vue.js是一个js框架,不是代替js的,是对js进行了封装

element.UI框架:将前端常用的一些组件(表单,表格,消息提示)进行封装(对html和css进行了封装)

Vue 安装

方式 1:直接用 <script> 引入
下载 Vue.js 并导入 js 文件
<script src="js/vue.js"></script>

方式 2:命令行工具 (CLI) *不推荐新手使用
安装教程给出了更多安装 Vue 的方式。请注意我们不推荐新手直接使
用 vue-cli,尤其是在你还不熟悉基于 Node.js 的构建工具时。

Vue 指令

指令带有前缀 v- 开头,以表示它们是 Vue 提供的特殊属性。
v-text
作用是设置标签的文本内容
默认写法会替换全部内容,使用差值表达式可以替换指定内容
内部支持写表达式
<p v-text="message"></p>
<p>{{message}}</p>
v-html
作用是设置元素的 innerHTML
内容中有 html 结构会被解析为标签
内部支持写表达式
<p v-html="message"></p>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="file:///C:/code/web/vuepro/js/v2.6.10/vue.js"></script>
		<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
		<script src="https://cdn.jsdelivr.net/npm/vue@2"></script>
	</head>
	<body>
		<!-- 创建一个标签
			{{message}}插入一个值,不影响标签中的其他内容
			v-html="message",v-text="message"会覆盖标签中的其他内容
			
			{{message}},v-text="message" 不能解析标签中的html标签
			{{message}},v-html="message" 可以解析标签中的html标签
		 -->
		<div id="app">
		  {{ message }}
		  <p v-text="message">aaa</p>
		  <p v-html="message">1</p>
		</div>
		<script>
			// 创建了一个vue对象
			var app = new Vue({
			  el: '#app',/* 绑定挂载点 */
			  data: {
			    message: 'Hello Vue!',
				
			  }
			})
		</script>
	</body>
</html>
v-on
作用是为元素绑定事件
事件名不需要写 on 指令可以简写为@
绑定的方法定义在 methods 属性中,可以传入自定义参数
<input type="button" value="按钮" v-on:click="test(1,2)" />
<input type="button" value="按钮" @click="test" />
methods:{
test(a,b){ alert(a);
}
}
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="file:///C:/code/web/vuepro/js/v2.6.10/vue.js"></script>
		<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
		<script src="https://cdn.jsdelivr.net/npm/vue@2"></script>
	</head>
	<body>
		<!-- 创建一个标签
			{{message}}插入一个值,不影响标签中的其他内容
			v-html="message",v-text="message"会覆盖标签中的其他内容
			
			{{message}},v-text="message" 不能解析标签中的html标签
			{{message}},v-html="message" 可以解析标签中的html标签
		 -->
		<div id="app">
		  <!-- {{ message }}
		  <p v-text="message">aaa</p>
		  <p v-html="message">1</p> -->
		  <input type="button" value="按钮1" v-on:click="test1()"/>
		  <input type="button" value="按钮2" @click="test2()">
		</div>
		<script>
			// 创建了一个vue对象
			var app = new Vue({
			  el: '#app',/* 绑定挂载点 */
			  data: {
			    message: '<b>Hello Vue!</b>',
			  },
			  methods:{
				  test1(){
					  alert(this.message = "aaaaaa");
				  },
				  test2(){
					  alert(this.message);
				  }
			  }
			})
		</script>
	</body>
</html>
v-model
作用是便捷的设置和获取表单元素的值
绑定的数据会和表单元素值相关联
绑定的数据<---->表单元素的值 双向数据绑定
<input type="text" v-model="message"/>
<p>{{message}}</p>
data:{
message:""
}
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="file:///C:/code/web/vuepro/js/v2.6.10/vue.js"></script>
		<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
		<script src="https://cdn.jsdelivr.net/npm/vue@2"></script>
	</head>
	<body>
		<!-- 创建一个标签
			{{message}}插入一个值,不影响标签中的其他内容
			v-html="message",v-text="message"会覆盖标签中的其他内容
			
			{{message}},v-text="message" 不能解析标签中的html标签
			{{message}},v-html="message" 可以解析标签中的html标签
		 -->
		<div id="app">
		  <!-- {{ message }}
		  <p v-text="message">aaa</p>
		  <p v-html="message">1</p> -->
		  <input type="button" value="按钮1" v-on:click="test1()"/>
		  <input type="button" value="按钮2" @click="test2()">
		  <input v-model="name" />
		  <p>{{ message }}</p>
		  <p>{{ name }}</p>
		</div>
		<script>
			// 创建了一个vue对象
			var app = new Vue({
			  el: '#app',/* 绑定挂载点 */
			  data: {
			    message: '<b>Hello Vue!</b>',
				name:""
			  },
			  methods:{
				  test1(){
					  alert(this.message.split('').reverse().join(''));//翻转
				  },
				  test2(){
					  this.name = "tom";
				  }
			  }
			})
		</script>
	</body>
</html>

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

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

相关文章

3D ToF赋能小米CyberDog 2提升视觉灵敏度

随着科技的进步,智能机器人越来越多地融入我们的日常生活。其中,CyberDog 2作为一款前沿的四足机器人,凭借其出色的视觉灵敏度和多功能技术配备,受到了广泛的关注。本文将重点探讨CyberDog 2的视觉系统,尤其是其四种不同类型的摄像头如何共同提升其视觉灵敏度,以及激光传…

书生·浦语大模型实战营第二期作业六

1、安装环境&#xff1a; 2、安装legent和agentlego&#xff1a; 3、部署apiserver&#xff1a; 4、legent web demo&#xff1a; 5、没搜到&#xff0c;很尴尬&#xff1a; 6、自定义工具&#xff1a; 7、智能体“乐高”&#xff1a; 8、智能体工具&#xff0c;识别图片&#…

C++ 矩阵乘法

描述 如果A是个x行y列的矩阵&#xff0c;B是个y行z列的矩阵&#xff0c;把A和B相乘&#xff0c;其结果将是另一个x行z列的矩阵C。这个矩阵的每个元素是由下面的公式决定的 矩阵的大小不超过100*100 输入描述&#xff1a; 第一行包含一个正整数x&#xff0c;代表第一个矩阵的…

Vue32-挂载流程

一、init阶段 生命周期本质是函数。 1-1、beforeCreate函数 注意&#xff1a; 此时vue没有_data&#xff0c;即&#xff1a;data中的数据没有收到。 1-2、create函数 二、生成虚拟DOM阶段 注意&#xff1a; 因为没有template选项&#xff0c;所以&#xff0c;整个div root都…

华为od-C卷200分题目2 - 找城市

华为od-C卷200分题目2 - 找城市 题目描述 一个城市规划问题&#xff0c;一个地图有很多城市&#xff0c;两个城市之间只有一种路径&#xff0c;切断通往一 个城市i的所有路径之后&#xff0c;其他的城市形成了独立的城市群&#xff0c;这些城市群里最大的城 市数量&#xff0…

VirtualBox、Centos7下安装docker后pull镜像问题、ftp上传文件问题

Docker安装篇(CentOS7安装)_docker 安装 centos7-CSDN博客 首先&#xff0c;安装docker可以根据这篇文章进行安装&#xff0c;安装完之后&#xff0c;我们就需要去通过docker拉取相关的服务镜像&#xff0c;然后安装相应的服务容器&#xff0c;比如我们通过docker来安装mysql,…

【Android面试八股文】说一说JVM、DVM(Dalvik VM)和ART的区别

文章目录 1. JVM(Java Virtual Machine):2. DVM(Dalvik Virtual Machine):与JVM区别基于的架构不同执行的字节码不同3. ART(Android Runtime):与DVM的区别4. 什么是JIT?4.1 什么是JIT4.2 JIT 编译的优势包括:4.3 对于 DVM 和 ART,它们在 JIT(Just-In-Time)编译方…

【flink实战】flink-connector-mysql-cdc导致mysql连接器报类型转换错误

文章目录 一. 报错现象二. 方案二&#xff1a;重新编译打包flink-connector-cdc1. 排查脚本2. 重新编译打包flink-sql-connector-mysql-cdc-2.4.0.jar3. 测试flink环境 三. 方案一&#xff1a;改造flink连接器 一. 报错现象 flink sql任务是&#xff1a;mysql到hdfs的离线任务&…

基于ASRPRO智能离线语音识别模块实现人机交流对话应用

基于ASRPRO智能离线语音识别模块实现人机交流对话应用 ASRPRO智能离线语音识别模块简介ASRPRO智能离线语音识别模块功能介绍ASRPRO智能离线语音识别模块电路说明ASRPRO智能离线语音识别模块应用案例ASRPRO智能离线语音识别模块管脚说明ASRPRO芯片管脚分布图ASRPRO语音识别模块系…

统计套利—配对交易策略

配对交易是一种基于统计学的交易策略&#xff0c;通过两只股票的差价来获取收益&#xff0c;因而与很多策略不同&#xff0c;它是一种中性策略&#xff0c;理论上可以做到和大盘走势完全无关。 配对交易的基本原理是&#xff0c;两个相似公司的股票&#xff0c;其股价走势虽然在…

基于51单片机贪吃蛇小游戏

基于51单片机贪吃蛇小游戏 &#xff08;仿真&#xff0b;程序&#xff09; 功能介绍 具体功能&#xff1a; 1.用74HC573驱动点阵显示游戏画面&#xff1b; 2.上电后贪吃蛇会自动寻食&#xff1b; 3.按下四个按键中的任何一个就手动寻食了&#xff1b; ​演示视频&#xf…

【MySQL】(基础篇十三) —— 联结

联结 本文介绍什么是联结&#xff0c;为什么要使用联结&#xff0c;如何编写使用联结的SELECT语句。介绍如何对被联结的表使用表别名和聚集函数。 SQL最强大的功能之一就是能在数据检索查询的执行中联结&#xff08;join&#xff09;表。联结是利用SQL的SELECT能执行的最重要…

CloudFlare 里如何设置参数传递的 301 重定向

自从接到【哈哈,笑死我了都,黔驴技穷了都!】一文里提到的代维客户订单,这两天明月就一直在加班加点的重新部署着客户的四个服务器,因为有三个都是 WordPress+WooCommerce 式的电商平台,很是有些费时费力,好在现在基本都搞定了,剩下的就是些细节方面的优化、调整了。期间…

Java - IDEA在debug时怎么复制JSONObject或JSONArray的值

问题 调试代码时&#xff0c;想复制一个接口的请求参数&#xff0c;因为是JSONObject类型&#xff0c;不能像其他基本类型一样&#xff0c;直接复制出所有结果。 复制只能复制size 0出来。 要是一个个key value可太麻烦了... 方法 右键参数 弹出的框中&#xff0c;可以执行…

创建comfyui自定义节点

参考 https://github.com/liubai-liubai/ComfyUI-ImgSeg-LB/tree/main https://blog.styxhelix.life/?p33 安装 不需要安装任何其他依赖文件&#xff0c;只需要把0x_erthor_node文件夹复制到custom_nodes文件夹下&#xff0c;就能安装成功。 a1&#xff1a;展示了代码结构&…

rclone 上传资料到 onedrive 遇到限速问题解决

原因分析 可能和脚本参数设置有关系,我的参数是: rclone copy "F:\阿里云盘\6666\局域网" "od:影视" --ignore-existing -u -v -P --transfers20 --ignore-errors --buffer-size128M --check-first --checkers10 --drive-acknowledge-abuse差不多8G大小的…

基于STM32和人工智能的智能气象站系统

目录 引言环境准备智能气象站系统基础代码实现&#xff1a;实现智能气象站系统 4.1 数据采集模块4.2 数据处理与分析4.3 控制系统4.4 用户界面与数据可视化应用场景&#xff1a;智能气象管理与优化问题解决方案与优化收尾与总结 1. 引言 随着气象科技的进步&#xff0c;智能…

tokenization(二)子词切分方法

文章目录 概述BPE构建词表词元化代码实现 WordPieceUnigram估算概率&#xff08;E&#xff09;删除词元&#xff08;M&#xff09; 参考资料 概述 接上回&#xff0c;子词词元化&#xff08;Subwords tokenization&#xff09;是平衡字符级别和词级别的一种方法&#xff0c;也…

【Java】已解决java.lang.NoClassDefFoundError异常

文章目录 一、问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决java.lang.NoClassDefFoundError异常 一、问题背景 java.lang.NoClassDefFoundError 是 Java 运行时环境&#xff08;JRE&#xff09;在尝试加载某个类时&#xff0c;但没有找到…

【Java】已解决:Java.lang.OutOfMemoryError: GC overhead limit exceeded

文章目录 问题背景可能出错的原因错误代码示例正确代码示例注意事项 问题背景 java.lang.OutOfMemoryError: GC overhead limit exceeded 是Java虚拟机&#xff08;JVM&#xff09;在运行时遇到的一种内存溢出错误。这种错误通常发生在应用程序的堆内存&#xff08;Heap Memor…