Vue入门--vue的生命周期

一.什么是Vue

二.Vue的简介

官方网址

特点

 

 三. 前后端的分离

重大问题

优势

4.Vue入门

定义一个管理边界

​编辑 测试结果

vue的优势

​编辑 测试结果

5.Vue的生命周期

vue的生命周期图

​编辑建立一个html

 测试结果


一.什么是Vue

Vue是一种流行的JavaScript前端框架,用于构建用户界面。它被设计为一种渐进式框架,可以逐步应用在项目中,也可以与其他库或现有项目进行整合。Vue采用了虚拟DOM和响应式数据的概念,使得开发者能够更方便地构建交互式的单页面应用。它具有简洁的语法和易于学习的特点,并且被广泛应用于构建Web应用程序。 Vue拥有庞大的社区和丰富的生态系统,提供了许多方便的插件和工具,使得开发过程更加高效和快速。无论是小型项目还是大型应用程序,Vue都是一个强大而灵活的选择。

二.Vue的简介

官方网址

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

特点

Vue具有以下几个特点:

  1. 渐进式框架:Vue被设计为一种渐进式框架,它允许开发者可以逐步采用Vue来构建项目。你可以将Vue与现有项目整合,也可以逐步引入Vue的功能,这种灵活性使得Vue适用于各种规模和类型的项目。

  2. 响应式数据绑定:Vue采用了响应式数据绑定的概念,通过使用Vue的模板语法,开发者可以将数据和DOM元素进行绑定,当数据发生变化时,界面会自动更新。这种机制使得开发者更加容易管理和维护数据与页面之间的同步。

  3. 组件化开发:Vue鼓励以组件化的方式构建用户界面。通过将页面划分为独立的组件,开发者可以将复杂的应用拆分为简单的、可重用的组件。这种开发模式有助于提高代码的可维护性和复用性,并使团队协作更高效。

  4. 虚拟DOM:Vue利用虚拟DOM技术来实现高效的页面更新。通过比较虚拟DOM的变化,Vue可以准确地确定需要更新的部分,并最小化DOM操作,从而提高页面的性能。

  5. 插件化架构:Vue采用插件化架构,允许开发者通过插件来扩展Vue的功能。Vue的生态系统提供了大量的插件和工具,可以帮助开发者解决各种问题,并提供更多的功能选项。

  6. 容易学习和上手:Vue具有简洁、直观的API和易于理解的文档,使得它对于新手来说非常友好。即使没有太多的前端开发经验,也能够快速上手并构建出优雅的用户界面。

总体来说,Vue具有简单易用、高效灵活、可维护可扩展等特点,因此被广泛应用于构建现代化的、交互式的Web应用程序。

 

 三. 前后端的分离

重大问题

  1. 跨域访问问题:由于前后端部署在不同的域名或端口上,浏览器会根据同源策略限制跨域访问,导致前端无法直接请求后端接口。为了解决这个问题,需要进行跨域配置或使用代理进行请求转发。

  2. 接口设计与联调问题:前后端分离意味着前后端开发团队并行开发,前后端需要进行接口的设计和约定。其中可能会涉及接口字段命名、数据格式、接口文档等问题。同时,在联调时,也需要及时进行接口的沟通和调试,确保数据的正确传递和处理。

  3. 认证与授权问题:前后端分离后,用户的认证与授权需要额外的处理。前端通常会发送登录请求,后端返回令牌(Token)给前端,前端将令牌保存在本地,并在每次请求时携带令牌进行认证。后端需要验证令牌的有效性,并对请求进行权限控制。

  4. 部署和维护问题:前后端分离需要独立部署前端和后端代码,前端使用静态文件服务器进行部署,后端使用应用服务器进行部署。这样会增加整体的部署和维护难度,需要更多的开发人员和资源来支持。

  5. 性能优化问题:前后端分离的架构通常会增加前端的复杂度,前端需要管理路由、状态管理、接口请求等。因此,在设计和优化前端架构时,需要合理使用缓存、代码分割、懒加载等技术手段,以提高页面性能和用户体验。

尽管前后端分离面临一些挑战,但通过合适的工具和良好的团队协作,大多数问题都可以得到解决,并且能够带来更好的开发效率和扩展性。

优势

Vue前后端分离具有以下几个优势:

  1. 清晰的职责分离:前后端分离使前端负责用户界面的展示和交互逻辑,后端负责处理数据和业务逻辑。这样可以实现前后端的职责分离,提高团队的协作效率。前端专注于用户体验,后端专注于数据处理和业务逻辑的实现。

  2. 提高开发效率:前后端分离使开发团队能够并行开发,无需等待后端接口完全开发完成。前端可以提前进行开发,并使用模拟数据进行调试和测试。这样可以加快项目的开发速度。

  3. 丰富的生态系统:Vue作为一种流行的前端框架,拥有庞大的社区和丰富的插件、组件库等生态系统。这使得前端开发人员能够轻松地使用各种工具和第三方库来实现功能需求,提高开发效率。

  4. 更好的用户体验:前后端分离可以通过前端渲染和虚拟DOM技术实现快速响应和流畅的用户界面。前端可以使用Vue的响应式数据绑定和组件化开发,实现高度交互性和可复用的界面组件,提升用户体验。

  5. 灵活的技术选型:前后端分离使得前端和后端可以独立选择技术栈,可以根据具体需求选择适合的技术和工具。前端可以选择Vue或其他前端框架,后端可以选择适合的后端语言和框架。这种灵活性使得团队可以根据自身实际情况做出最佳决策。

总的来说,Vue前后端分离能够提高开发效率,分工明确,拥有丰富的生态系统和优秀的用户体验,能够更好地满足现代Web应用程序的需求。

4.Vue入门

定义一个管理边界

 测试结果

vue的优势

 测试结果

5.Vue的生命周期

vue的生命周期图

建立一个html

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><script src="https://cdn.bootcss.com/vue/2.6.10/vue.js"></script></head><body><div id="d1"><div>number:{{number}}</div><div>{{detail()}}</div><input type="text" v-model="number" /></div><script>var data = {number:999,msg:null};var vm = new Vue({el:'#d1',data:data,methods:{detail:function(){return "使用方法来插值:"+this.msg;}},beforeCreate:function(){console.log('beforeCreate:刚刚new Vue()之后,这个时候,数据还没有挂载呢,只是一个空壳')           console.log(this.msg)//undefinedconsole.log(document.getElementsByClassName("myp")[0])//undefined},created:function(){console.log('created:这个时候已经可以使用到数据,也可以更改数据,在这里更改数据不会触发updated函数')this.msg+='!!!'console.log('在这里可以在渲染前倒数第二次更改数据的机会,不会触发其他的钩子函数,一般可以在这里做初始数据的获取')console.log('接下来开始找实例或者组件对应的模板,编译模板为虚拟dom放入到render函数中准备渲染')},beforeMount:function(){console.log('beforeMount:虚拟dom已经创建完成,马上就要渲染,在这里也可以更改数据,不会触发updated')this.msg+='@@@'console.log('在这里可以在渲染前最后一次更改数据的机会,不会触发其他的钩子函数,一般可以在这里做初始数据的获取')console.log(document.getElementsByClassName("myp")[0])//undefinedconsole.log('接下来开始render,渲染出真实dom')},// render:function(createElement){//     console.log('render')//     return createElement('div','hahaha')// },mounted:function(){ console.log('mounted:此时,组件已经出现在页面中,数据、真实dom都已经处理好了,事件都已经挂载好了')console.log(document.getElementsByClassName("myp")[0])console.log('可以在这里操作真实dom等事情...')//    this.$options.timer = setInterval(function () {//        console.log('setInterval')//         this.msg+='!'  //    }.bind(this),500)},beforeUpdate:function(){//这里不能更改数据,否则会陷入死循环console.log('beforeUpdate:重新渲染之前触发')console.log('然后vue的虚拟dom机制会重新构建虚拟dom与上一次的虚拟dom树利用diff算法进行对比之后重新渲染')         },updated:function(){//这里不能更改数据,否则会陷入死循环console.log('updated:数据已经更改完成,dom也重新render完成')},beforeDestroy:function(){console.log('beforeDestory:销毁前执行($destroy方法被调用的时候就会执行),一般在这里善后:清除计时器、清除非指令绑定的事件等等...')// clearInterval(this.$options.timer)},destroyed:function(){console.log('destroyed:组件的数据绑定、监听...都去掉了,只剩下dom空壳,这里也可以善后')}});</script></body>
</html>

 测试结果

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Graph Net学习】GNN/GCN代码实战

一、简介 GNN&#xff08;Graph Neural Network&#xff09;和GCN&#xff08;Graph Convolutional Network&#xff09;都是基于图结构的神经网络模型。本文目标就是打代码基础&#xff0c;未用PyG&#xff0c;来扒一扒Graph Net两个基础算法的原理。直接上代码。 二、代码 …

无涯教程-JavaScript - MDETERM函数

描述 MDETERM函数返回数组的矩阵行列式。 语法 MDETERM (array)争论 Argument描述Required/OptionalArrayA numeric array with an equal number of rows and columns.Required Notes 数组可以作为单元格范围给出,如A1:C3;作为数组常量,如{1,2,3; 4,5,6; 7,8,9}&#xff1…

【刷题】蓝桥杯

蓝桥杯2023年第十四届省赛真题-平方差 - C语言网 (dotcpp.com) 初步想法&#xff0c;x y2 − z2&#xff08;yz)(y-z) 即xa*b&#xff0c;ayz&#xff0c;by-z 2yab 即ab是2的倍数就好了。 即x存在两个因数之和为偶数就能满足条件。 但时间是&#xff08;r-l&#xff09;*x&am…

服务网格和微服务架构的关系:理解服务网格在微服务架构中的角色和作用

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

郑州大学图书馆许少辉《乡村振兴战略下传统村落文化旅游设计》中文文献——2023学生开学季辉少许

郑州大学图书馆许少辉《乡村振兴战略下传统村落文化旅游设计》中文文献——2023学生开学季辉少许

六、串口通信

六、串口通信 串口接口介绍使用串口向电脑发送数据电脑发送数据控制LED灯 串口接口介绍 SBUF是串口数据缓存器&#xff0c;物理上是两个独立的寄存器&#xff0c;但占用相同的地址。写操作时&#xff0c;写入的是发送寄存器&#xff1b;读操作时&#xff0c;读出的是接收寄存器…

【uniapp】Dcloud的uni手机号一键登录,具体实现及踩过的坑,调用uniCloud.getPhoneNumber(),uni.login()等

一键登录Dcloud官网请戳这里&#xff0c;感兴趣的可以看看官网&#xff0c;有很详细的示例&#xff0c;选择App一键登录&#xff0c;可以看到一些常用的概述 比如&#xff1a; 1、调用uni.login就能弹出一键登录的页面 2、一键登录的流程&#xff0c;可以选择先预登录uni.prelo…

数据库----数据查询

1.6 查询语句 语法&#xff1a;select [选项] 列名 [from 表名] [where 条件] [group by 分组] [order by 排序][having 条件] [limit 限制]1.6.1 字段表达式 mysql> select 锄禾日当午; ------------ | 锄禾日当午 | ------------ | 锄禾日当午 | ---…

C++---多态

多态 前言多态的概念多态的定义及实现多态的构成条件虚函数虚函数的重写虚函数重写的两个例外协变(基类与派生类虚函数返回值类型不同)析构函数的重写 override和final 虚函数的默认参数 抽象基类 前言 在买火车票的时候&#xff0c;如果你是学生&#xff0c;是买半价票&#…

微服务保护-Sentinel

初识Sentinel 雪崩问题及解决方案 雪崩问题 微服务中&#xff0c;服务间调用关系错综复杂&#xff0c;一个微服务往往依赖于多个其它微服务。 如图&#xff0c;如果服务提供者I发生了故障&#xff0c;当前的应用的部分业务因为依赖于服务I&#xff0c;因此也会被阻塞。此时&a…

基于SpringBoot的旅游系统

基于SpringBootVue的旅游系统、前后端分离 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBoot、Vue、Mybaits Plus、ELementUI工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 【主要功能】 角色&#xff1a;管理员、用户 用户&#xff1a;浏览旅游…

Rockchip RK3399 - USB触摸屏接口驱动

---------------------------------------------------------------------------------------------------------------------------- 开发板 &#xff1a;NanoPC-T4开发板eMMC &#xff1a;16GBLPDDR3 &#xff1a;4GB 显示屏 &#xff1a;15.6英寸HDMI接口显示屏u-boot &…

三维模型3DTile格式轻量化压缩文件大小的技术方法研究

三维模型3DTile格式轻量化压缩文件大小的技术方法研究 倾斜摄影三维模型&#xff0c;由于数据量大、复杂度高&#xff0c;轻量化压缩成为其在网络传输和实时渲染中必不可少的环节。以下是几种常用的3DTile格式轻量化压缩技术方法&#xff1a; 几何简化&#xff1a;这是一种最…

K8s(Kubernetes)学习(五)——Service:ClusterIP、NodePort、LoadBalancer、 ExternalName

第五章 Service 什么是 Service为什么需要 ServiceService 特性Service 与 Pod 关联Service type 类型如何使用 Service多端口配置 1 什么是 Service 1.1 定义 官网地址: https://kubernetes.io/zh-cn/docs/concepts/services-networking/service/ 将运行在一个或一组 Pod…

uniapp视频播放功能

UniApp提供了多种视频播放组件&#xff0c;包括视频播放器&#xff08;video&#xff09;、多媒体组件&#xff08;media&#xff09;、WebView&#xff08;内置Video标签&#xff09;等。其中&#xff0c;video和media组件是最常用的。 video组件 video组件是基于HTML5 vide…

iOS-砸壳篇(两种砸壳方式)

CrackerXI砸壳呢&#xff0c;当时你要是使用 frida-ios-dump 也是可以的&#xff1b; https://github.com/AloneMonkey/frida-ios-dump frida-ios-dump: 代码中需要更改的&#xff1a;手机中的内网ip 密码 等 最后放到我的砸壳路径里&#xff1a; python dump.py -l查看应用…

libevent数据结构——TAILQ_结构体

TAILQ_结构体 TAILQ_结构体在文件event2/event_struct.h和文件event2/keyvalq_struct.h中都有定义&#xff0c;并且他们的定义都是一样的&#xff0c;定义了TAILQ_ENTRY、TAILQ_HEAD结构体&#xff1a; #ifndef TAILQ_ENTRY #define EVENT_DEFINED_TQENTRY_ #define TAILQ_EN…

matlab根轨迹绘制

绘制根轨迹目的就是改变系统的闭环极点&#xff0c;使得系统由不稳定变为稳定或者使得稳定的系统变得更加稳定。 在使用PID控制器的时候&#xff0c;首先要确定的参数是Kp&#xff0c;画成框图的形式如下&#xff1a; 也就是想要知道Kp对系统性能有哪些影响&#xff0c;此时就…

展会预告 | 图扑邀您共聚 IOTE 国际物联网展·深圳站

参展时间&#xff1a;9 月 20 日- 22 日 图扑展位&#xff1a;9 号馆 9B 35-1 参展地址&#xff1a;深圳国际会展中心&#xff08;宝安新馆&#xff09; IOTE 2023 第二十届国际物联网展深圳站&#xff0c;将于 9 月 20 日- 22 日在深圳国际会展中心&#xff08;宝安&#xff0…

【面试经典150 | 双指针】判断子序列

文章目录 写在前面Tag题目来源题目解题解题思路方法一&#xff1a;双指针方法二&#xff1a;动态规划 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢迎催更…… 专栏内容以分析题目为主&#xff0c;并附带一些对…