返回顶部
首页 > 资讯 > 精选 >vue生命周期怎么掌握
  • 550
分享到

vue生命周期怎么掌握

2023-07-04 15:07:23 550人浏览 八月长安
摘要

本篇内容介绍了“Vue生命周期怎么掌握”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!根实例的加载相关的生命周期(beforeCreate、c

本篇内容介绍了“Vue生命周期怎么掌握”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

  1. 根实例的加载相关的生命周期(beforeCreate、created、beforeMount、mounted)

  2. 组件实例的加载相关的生命周期(beforeCreate、created、beforeMount、mounted)

  3. 全局路由勾子(router.beforeEach)

  4. 组件路由勾子(beforeRouteEnter)

  5. 组件路由勾子的next里的回调(beforeRouteEnter)

  6. 指令的周期(bind,inserted)

  7. nextTick方法的回调

接下来,让我们用vue-cli简单改造后的项目,做一个测试,看看各个声明周期的触发顺序是怎样的

main.js

router.beforeEach((to, from, next) => { console.log('路由全局勾子:beforeEach') next()}) router.afterEach((to, from) => { console.log('路由全局勾子:afterEach')}) new Vue({ beforeCreate () {  console.log('根组件:beforeCreate') }, created () {  console.log('根组件:created') }, beforeMount () {  console.log('根组件:beforeMount') }, mounted () {  console.log('根组件:mounted') } el: '#app', router, template: '<App/>', components: { App }})

test.vue

<template> <h2 v-ooo @click = "$router.push('/')">test</h2></template><script>export default { beforeRouteEnter (to, from, next) {  console.log('组件路由勾子:beforeRouteEnter')  next(vm => {   console.log('组件路由勾子beforeRouteEnter的next')  }) }, beforeCreate () {  console.log('组件:beforeCreate') }, created () {  this.$nextTick(() => {   console.log('nextTick')  })  console.log('组件:created') }, beforeMount () {  console.log('组件:beforeMount') }, mounted () {  console.log('组件:mounted') }, directives: {  ooo: {   bind (el, binding, vnode) {    console.log('指令binding')   },   inserted (el, binding, vnode) {    console.log('指令inserted')   }  } }}</script>

接下来,直接进入test.vue对应的路由。在控制台,我们看到如下的输出

vue生命周期怎么掌握

我们看到执行的顺序为

  1. 路由勾子 (beforeEach、beforeRouteEnter、afterEach)

  2. 根组件 (beforeCreate、created、beforeMount)

  3. 组件 (beforeCreate、created、beforeMount)

  4. 指令 (bind、inserted)

  5. 组件 mounted

  6. 根组件 mounted

  7. beforeRouteEnter的next的回调

  8. nextTick

结论

路由勾子执行周期非常早,甚至在根实例的渲染之前

具体的顺序 router.beforeEach > beforeRouteEnter > router.afterEach

tip:在进行路由拦截的时候要避免使用实例内部的方法或属性。
开发项目时候,我们脑门一拍把,具体拦截的程序,写在了根实例的方法上了,到beforeEach去调用。
结果导致整个拦截的周期,推迟到实例渲染的之后。
因此对于一些路由组件的beforeRouteEnter里的请求并无法拦截,页面看上去好像已经拦截下来了。
实际上请求依然发了出去,beforeRouteEnter内的函数依然执行了。

指令的绑定在组件mounted之前,组件的beforeMount之后
不得不提的, beforeRouteEnter的next勾子

beforeRouteEnter的执行顺序是如此靠前,而其中next的回调勾子的函数,执行则非常靠后,在mounted之后!!
我们通常是在beforeRouteEnter中加载一些首屏用数据,待数据收到后,再调用next勾子,通过回调的参数vm将数据绑定到实例上。
因此,请注意next的勾子是非常靠后的。

nextTick
越早注册的nextTick触发越早

为什么要使用Vue

Vue是一款友好的、多用途且高性能的javascript框架,使用vue可以创建可维护性和可测试性更强的代码库,Vue允许可以将一个网页分割成可复用的组件,每个组件都包含属于自己的htmlCSS、JavaScript,以用来渲染网页中相应的地方,所以越来越多的前端开发者使用vue。

“vue生命周期怎么掌握”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: vue生命周期怎么掌握

本文链接: https://lsjlt.com/news/346014.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • vue生命周期怎么掌握
    本篇内容介绍了“vue生命周期怎么掌握”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!根实例的加载相关的生命周期(beforeCreate、c...
    99+
    2023-07-04
  • 如何掌握Spring中bean的生命周期!
    这期内容当中小编将会给大家带来有关如何掌握Spring中bean的生命周期!,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Spring 中bean 的生命周期短暂吗在spring中,从BeanFactor...
    99+
    2023-06-17
  • Vue生命周期怎么理解
    这篇“Vue生命周期怎么理解”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue生命周期怎么理解”文章吧。1、定义生命周期函...
    99+
    2023-07-06
  • vue生命周期是什么
    本篇内容介绍了“vue生命周期是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • Vue生命周期详解
    这篇博客将会从下面四个常见的应用诠释组件的生命周期,以及各个生命周期应该干什么事 单组件的生命周期父子组件的生命周期兄弟组件的生命周期宏mixin的生命周期 生命周期:Vue 实例从...
    99+
    2024-04-02
  • 详解vue生命周期
    目录为什么要理解生命周期什么是生命周期生命周期钩子函数created和mounted钩子的一些实战用法1.异步函数 2.Vue.nextTick对异步函数的结果进行操作 总结为什么要...
    99+
    2024-04-02
  • Vue的生命周期是什么
    本篇内容主要讲解“Vue的生命周期是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue的生命周期是什么”吧!生命周期生命周期的简单介绍生命周期又叫做:生命周期回调函数、生命周期函数、生命周...
    99+
    2023-06-29
  • 浅谈vue的生命周期
    目录1.什么是生命周期有什么作用2.第一次加载页面会触发哪几个钩子3.简述每个周期应用于哪个场景4.created和mounted的区别5.vue在哪个生命周期获取数据总结1.什么是...
    99+
    2024-04-02
  • 老生常谈vue的生命周期
    目录一、什么是生命周期二、生命周期函数三、生命周期的流程四、简单的生命周期代码总结一、什么是生命周期 每一个组件都可能经历从创建,挂载,更新,卸载的过程。 在这个过程中的某一个阶段,...
    99+
    2024-04-02
  • vue中的生命周期是什么
    这篇文章给大家分享的是有关vue中的生命周期是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、什么是生命周期每一个组件都可能经历从创建,挂载,更新,卸载的过程。在这个过程中的某一个阶段,用于可能会想要添加一...
    99+
    2023-06-29
  • Vue生命周期区别详解
    生命周期分类 vue每个组件都是独立的,每个组件都有一个属于它的生命周期, 从一个组件创建、数据初始化、挂载、更新、销毁,这就是一个组件所谓的生命周期。 在组件中具体的方法有: ...
    99+
    2024-04-02
  • Vue中的生命周期介绍
    什么是vue的生命周期 Vue中的生命周期是指组件从创建到销毁的一系列过程。看下面这张官方文档的图: 从图片中可以看出Vue的整个生命周期包括8个状态,按照先后顺序分别为: bef...
    99+
    2024-04-02
  • vue组件有生命周期吗
    vue组件的生命周期有:1.beforeCreate,创建前;2.created,创建后;3.beforemount,载入前;4.mounted,载入后;5.beforeUpdate,更新前;6.updated,更新后;7.beforeDe...
    99+
    2024-04-02
  • vue生命周期包括哪些
    vue生命周期包括:1.创建前,钩子函数为beforeCreate;2.创建后,钩子函数为created;3.载入前,钩子函数为beforemount;4.载入后,钩子函数为mounted;5.更新前,钩子函数为beforeUpdate;6...
    99+
    2024-04-02
  • Vue生命周期实例分析
    这篇文章主要介绍“Vue生命周期实例分析”,在日常操作中,相信很多人在Vue生命周期实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue生命周期实例分析”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-07-02
  • 浅谈VUE uni-app 生命周期
    目录一、应用的生命周期二、页面生命周期三、组件生命周期总结一、应用的生命周期 onLaunch 当uni-app 初始化完成时触发(全局只触发一次)onShow 当 uni-ap...
    99+
    2024-04-02
  • vue的生命周期钩子与父子组件的生命周期详解
    目录vue的生命周期钩子的介绍父子组件的生命周期加载渲染过程父组件更新过程子组件更新过程父子组件更新过程销毁过程代码示例created和mounted的区别vue的生命周期钩子的介绍...
    99+
    2022-11-13
    vue 生命周期 vue 父子组件生命周期
  • Vue中生命周期函数是什么
    这篇文章主要为大家展示了“Vue中生命周期函数是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vue中生命周期函数是什么”这篇文章吧。生命周期函数生命周期函数又叫:生命周期回调函数,生命周期...
    99+
    2023-06-25
  • vue生命周期的作用是什么
    这篇文章主要介绍了vue生命周期的作用是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue生命周期的作用是什么文章都会有所收获,下面我们一起来看看吧。Vue.js 的生命周期方法在 Vue.js 组件中,...
    99+
    2023-07-06
  • vue组件生有哪些命周期
    本篇文章给大家分享的是有关vue组件生有哪些命周期,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。具体内容如下分为4个阶段:create/mou...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作