vue2面试题:对vue生命周期的理解

这篇具有很好参考价值的文章主要介绍了vue2面试题:对vue生命周期的理解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

回答思路:生命周期是什么–>生命周期有哪些–>生命周期的总体流程–>数据请求在created和mouted的区别

生命周期是什么

生命周期(life cycle)的概念应用很广泛,在政治、经济、环境、技术、社会等诸多领域都会经常出现,可通俗理解为“从摇篮到坟墓”的整个过程,在vue中从实例的创建到销毁过程就是生命周期,即从创建、初始化数据、编译模板、挂载Dom–>渲染、更新–>渲染、卸载等一系列过程,可以把组件比作工厂的一条流水线,每个工人就是不同的生命周期,站在各自的岗位,执行各自的任务,在vue生命周期钩子会自动绑定this上下文到实例中,因此你可以访问数据,对property和方法进行运算,所以我们不能使用箭头函数来定义生命周期方法

生命周期有哪些

可分为八个阶段,创建前后、挂在前后、更新前后、卸载前后,还有一些特殊场景的生命周期

生命周期 描述
beforeCreate 组件实例被创建之前
created 组件实例已经完全被创建
beforeMount 组件挂载之前
mounted 组件挂载到实例上去之后
beforeUpdate 组件数据发生变化,更新之前
updated 组件数据更新之后
beforeDestroy 组件实例销毁之前
destroyed 组件实例销毁之后
activated keep-alive缓存的组件激活时调用
deactivated keep-alive缓存的组件停用时调用
errorCaptured 捕获一个来自子孙组件的错误时被调用

生命周期的总体流程

beforeCreate–>created:

初始化vue实例,进行数据观测

created:

1.完成数据观测,属性、方法的运算,watch、event事件回调的配置
2.可调用methods中的方法,访问和修改data数据触发响应式渲染dom,可通过computed和watch完成数据计算
3.此时vm.$el还没被创建

created–>beforeMount:

1.判断是否存在el选项,若不存在则停止编译,直到调用vm.$mount(el)才会继续编译
2.优先级:render>template>outerHTML
3.vm.el获取到的是挂载的DOM

beforeMount

1.可以获取到vm.el
2.vm.el虽然已初始化,但并未挂载到el上

beforeMount -->mounted

vm.el挂载完毕,vm.$el生成的DOM替换了el选项对应的DOM

mounted

vm.el完成DOM的挂载与渲染,此刻打印vm.$el,发现之前的挂载点及内容已被替换成新的DOM

beforeUpdate

1.更新的数据必须是被渲染到模板上的(el,template,render之一)
2.此时view层还没更新
3.若在beforeUpdate再次修改数据,不会再次触发更新方法

updated

1.完成view层更新
2.若在updated中再次更新则会重新调用beforeUpdate

beforeDestroy

实例被销毁前调用,此时属性和方法还是可以访问

destroy

1.完全销毁一个实例,清理它与其它实例的连接,解绑它的全部指令及事件监听器
2.并不能清除DOM,仅仅销毁实例

数据请求在created和mouted的区别

相同点:

都能拿到实例对象的属性和方法

区别:

1.created是在组件实例一旦创建完成的时候立刻调用,此时页面dom节点并未生成,mounted是在页面dom节点渲染完毕后执行的,created比mounted先
2.如果请求放在mounted中可能会导致页面闪动,因为此时页面dom结构已经生成,如果在页面加载前完成请求就不会出现这个情况,所以建议请求放在created中文章来源地址https://www.toymoban.com/news/detail-822436.html

到了这里,关于vue2面试题:对vue生命周期的理解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue2 生命周期,工程化开发入门

    1.生命周期 生命周期介绍 生命周期的四个阶段 生命周期钩子 声明周期案例 2.工程化开发入门 工程化开发和脚手架 项目运行流程 组件化 组件注册 思考:什么时候可以发送初始化渲染请求?(越早越好)什么时候可以开始操作dom?(至少dom得渲染出来) Vue生命周期:就是一

    2024年02月11日
    浏览(57)
  • vue2的生命周期详解(代码演示+源码)

            生命周期是指从开始创建、初始化数据、编译模版、挂载 Dom - 渲染、更新 - 渲染、卸载等一系列过程,我们称这是 Vue 的生命周期,它主要强调一个时间段。用一句话来概括就是: Vue实例的生命周期: 从创建到销毁的整个过程 Vue框架内置函数,随着组件的生命周期阶

    2024年02月04日
    浏览(46)
  • Vue2 的@hook 、 hook: 与生命周期

    优点:简单易上手 缺点:此种方法子组件必须是自己编写的组件,若引用第三方库这种方式则不可行 官方文档并没有太多相关解释,只在处理边界情况 #程序化的事件侦听器— Vue.js (vuejs.org)里有出现。 子组件无需相关处理就能实现侦听,这块的实现原理可以从源码里探究部

    2024年02月05日
    浏览(45)
  • Vue2和Vue3生命周期映射关系及异同

    beforeCreate - 使用 setup() created - 使用 use setup() beforeMount -onBeforeMount mounted - onMounted beforeUpdate - onBeforeUpdate updated - onUpdated beforeDestroy- onBeforeUnmount destroyed -onUnmounted activated - onActivated deactivated - onDeactivated errorCaptured - onErrorCaptured beforeCreate - 使用 setup() 函数替代 Vue 2 中的 beforeCrea

    2024年01月24日
    浏览(42)
  • Vue2(生命周期,列表排序,计算属性和监听器)

    前言 上一章博客我们讲解了Vue基础 这一章我们来讲Vue生命周期,列表过滤,计算属性和监听器 一,生命周期 通常也叫生命周期回调函数、生命周期函数、生命周期钩子 vue初始化时在不同的阶段调用的不同函数 生命周期函数的 this 指向为vue实例,名字不能更改 1.1,生命周期函

    2024年02月13日
    浏览(49)
  • 【Vue2.0源码学习】生命周期篇-初始化阶段(initState)

    本篇文章介绍生命周期初始化阶段所调用的第五个初始化函数—— initState 。 从函数名字上来看,这个函数是用来初始化实例状态的,那么什么是实例的状态呢?在前面文章中我们略有提及,在我们日常开发中,在 Vue 组件中会写一些如 props 、 data 、 methods 、 computed 、 watc

    2024年02月09日
    浏览(52)
  • Vue2技能树(3)-声明式渲染、指令大全、生命周期函数

    👍 点赞,你的认可是我创作的动力! ⭐️ 收藏,你的青睐是我努力的方向! ✏️ 评论,你的意见是我进步的财富! Vue2技能树(1)-介绍、导入使用、响应式数据绑定、组件化开发 vue2技能树(2)-模板语法、vue的工具链、渐进式框架 Vue2技能树(3)-声明式渲染、指令大全、生命周

    2024年02月07日
    浏览(49)
  • 【Vue2.0源码学习】生命周期篇-初始化阶段(initInjections)

    本篇文章介绍生命周期初始化阶段所调用的第四个初始化函数—— initInjections 。从函数名字上来看,该函数是用来初始化实例中的 inject 选项的。说到 inject 选项,那必然离不开 provide 选项,这两个选项都是成对出现的,它们的作用是:允许一个祖先组件向其所有子孙后代注

    2024年02月09日
    浏览(48)
  • #Uniapp:uni-app中vue2生命周期--11个

    uni-app中vue2生命周期 生命周期钩子 描述 H5 App端 小程序 说明 beforeCreate 在实例初始化之后被调用 详情 √ √ √ created 在实例创建完成后被立即调用 详情 √ √ √ beforeMount 在挂载开始之前被调用 详情 √ √ √ mounted 挂载到实例上去之后调用 详情 注意:此处并不能确定子组件

    2024年02月02日
    浏览(48)
  • Vue2-收集表单数据、过滤器、内置指令与自定义指令、Vue生命周期

    🥔:我徒越万重山 千帆过 万木自逢春 更多Vue知识请点击——Vue.js 1、不同标签的value属性 若: input type=\\\"text\\\"/ 普通输入框,则v-model收集的是value值,用户输入的就是value值。 若: input type=\\\"radio\\\"/ 单选框,则v-model收集的是value值,且要给标签配置value值。 若: input type=\\\"checkb

    2024年02月13日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包