首页 > 其他分享 >Vue介绍与生命周期详解

Vue介绍与生命周期详解

时间:2023-03-25 18:56:04浏览次数:41  
标签:生命周期 DOM 调用 Vue 实例 组件 详解

一、Vue简介

 Vue是一款轻量级、高性能的JavaScript框架,用于构建用户界面,它的核心是数据双向绑定和组件化。Vue的设计灵感来源于AngularJS和React,但它更加易于上手和使用。

Vue的主要特点包括:

  • MVVM模式:Vue采用了MVVM模式,将视图(View)、数据模型(Model)和视图模型(ViewModel)分离,使得开发更加清晰和简单。

  • 数据双向绑定:Vue使用了数据双向绑定的技术,当数据发生变化时,视图会自动更新,反之亦然。

  • 组件化:Vue支持组件化开发,开发者可以将一个页面拆分成多个独立的组件,每个组件都包含了自己的数据和逻辑,便于代码的复用和维护。

  • 轻量级:Vue非常轻量级,核心库只有20K左右,而且没有依赖其他库,可以轻松地嵌入到其他项目中。

  • 易于学习:Vue非常易于学习和使用,它提供了丰富的文档和示例,而且有一个庞大的社区支持。

  • 高性能:Vue采用了虚拟DOM的技术,可以在渲染大量数据时保持高性能。

Vue主要包括以下几个核心部分:

  • 模板语法:Vue使用了一种简洁而强大的模板语法,可以将数据和DOM进行绑定,实现动态的页面更新。

  • 组件系统:Vue支持组件化开发,可以将一个页面拆分成多个独立的组件,每个组件都包含了自己的数据和逻辑,便于代码的复用和维护。

  • 数据绑定:Vue采用了数据双向绑定的技术,当数据发生变化时,视图会自动更新,反之亦然。

  • 生命周期:Vue提供了一系列的生命周期钩子函数,可以在组件的不同阶段执行相应的操作。

  • 路由系统:Vue提供了一个灵活且易于使用的路由系统,可以轻松地实现单页应用程序。

  • 状态管理:Vue提供了Vuex状态管理库,可以帮助开发者管理应用程序的状态。

总的来说,Vue是一个非常优秀的JavaScript框架,具有轻量级、高性能、易学易用等特点,可以帮助开发者快速地构建高质量的用户界面。

二、Vue生命周期

Vue组件的生命周期包括创建、挂载、更新和销毁四个阶段,每个阶段都有相应的钩子函数可以被调用。

  1. 创建阶段
    在创建阶段,Vue会进行组件实例的初始化,包括创建组件实例,挂载DOM节点,初始化数据和事件等。

主要的生命周期钩子函数有:

  • beforeCreate:在实例被创建之初,数据观测(data observer)和事件配置之前被调用,因此 data、computed properties、methods、watcher/event 回调都无法使用,常用于初始化非响应式变量。
  • created:实例已经创建完成之后被调用。在这一步,实例已完成数据观测(data observer),属性和方法的运算,但是$el属性还没有被渲染出来。
  • beforeMount:在挂载开始之前被调用,即将开始编译模板并将 render 函数编译成虚拟 DOM 渲染函数。该钩子在服务器端渲染期间不被调用。
  • mounted:实例已经挂载到DOM节点上,此时可以对DOM进行操作。该钩子在服务器端渲染期间不被调用。
  1. 更新阶段
    在更新阶段,Vue会根据数据变化重新渲染DOM节点。

主要的生命周期钩子函数有:

  • beforeUpdate:在数据更新之前被调用,此时DOM并未重新渲染,常用于在更新前访问现有DOM,以便手动操作DOM。
  • updated:数据更新完成之后被调用,此时DOM已经更新完成,常用于DOM操作,但需要避免无限循环的操作。
  1. 销毁阶段
    在销毁阶段,Vue会清理组件实例和DOM节点,释放资源。

主要的生命周期钩子函数有:

  • beforeDestroy:在实例销毁之前被调用。在这一步,实例仍然完全可用,常用于清除定时器、解除事件监听等非常规操作。
  • destroyed:实例已经销毁之后被调用,此时实例的所有指令、事件监听器都已经被解除,常用于清除当前组件实例使用的外部资源(如 websocket 连接)等操作。

标签:生命周期,DOM,调用,Vue,实例,组件,详解
From: https://www.cnblogs.com/arek/p/17255335.html

相关文章

  • RabbitMQ快速入门与详解
    一、RabbitMQ简介1.简介 RabbitMQ是一个开源的消息代理(MessageBroker)软件,实现了高级消息队列协议(AMQP),支持多种消息传递模式,例如点对点、订阅/发布等。 RabbitMQ的核......
  • 初识vue3-setup语法糖,ref和reactive语法,computde计算属性,watch开启监听
    vue3和vue2的区别1,vue3首次渲染更快(Vue3在编译和渲染性能上有了很大的提升,主要是因为使用了Proxy代理和优化算法,使得组件可以更快的渲染)2,diff算法更快3,内存占用体积......
  • vue 后台管理系统 全屏
    toggleScreen(){if(this.screen){//判断全屏状态this.$refs.components_layout_side.$el.requestFullscreen()}else{if(document.exitFullscr......
  • SpringMVC快速入门与详解
    一、SpringMVC简介1.概念 SpringMVC是一种基于Java的实现MVC设计模式的Web框架,该框架通过将Web应用程序划分为模型、视图和控制器来简化Web应用程序的开发......
  • Kafka快速使用与详解
    一、Kafka简介1.概念 Kafka是一个分布式的、基于发布/订阅的消息队列,最初由LinkedIn开发,并于2011年成为Apache项目的一部分。Kafka具有高吞吐量、可扩展性、持久性和容......
  • Nginx快速入门与详解
    一、Nginx简介1.概念 Nginx是一款高性能的HTTP和反向代理服务器,常用于静态资源的访问、负载均衡、HTTP缓存和反向代理等。以下是Nginx的常用功能和配置介绍:以下是常用......
  • 【入门】Go语言常量详解
    1、什么是常量?程序运行期间不可以变的量使用const定义不能修改常量的值不能打印常量的地址常量在定义时候必须赋值2、常量于变量的区别?变量的值是可以变的,常量......
  • Zookeeper快速使用与详解
    一、Zookeeper简介1.概念 Zookeeper是一个开源的分布式协调服务,用于管理大型集群中的资源、配置信息和命名服务等;也是一个高性能的、可靠的、分布式的、开放源代码的协......
  • VUE 环境搭建
    一、安装node.js在node.js官网下载安装最新版的:https://nodejs.org/zh-cn/然后需要更换下载源为国内的#设置为淘宝源npmconfigsetregistryhttps://registry.npmmirro......
  • 【入门】Go语言变量详解
    目录一、变量赋值的几种方式1.1声明单个变量1.2声明多个变量1.3初始化变量1.4变量赋值1.5自动推导类型方式声明变量二、输出输入格式控制2.1输出格式2.1输入格式2.3......