专业汉语词典知识平台,分享汉字词语知识、历史文学知识解答!

励北网
励北网

vue生命周期详述

来源:小易整编  作者:小易  发布时间:2023-02-22 12:20
摘要:vue生命周期详述,这次来聊一下vue的生命周期!可以看到vue一整个的生命周期中会有很多钩子函数提供给我们在vue生命周期不同的时刻进行操作,那么先列出所有的钩子函数,然后慢慢来!beforeCreatecreatedbeforeMoun...

2. created钩子函数和beforeMount间的生命周期

vue生命周期详述
这个阶段叫做模板编译阶段,这个阶段的目的是将模板编译为渲染函数,只存在于完整版中,如果只在包含运行时的构建版本中执行new Vue(),则不存在这个阶段。

这个阶段做的事情还是很多的,首先判断对象有没有el选项,如果有的话就绩效向下编译,如果没有el选项的话,则停止编译,也就意味着停止了生命周期,直到在该vue实例上调用vm.$mount(el)。

尝试一下:注释掉 el:’#app’

然后看到运行到created的时候就停止了!
vue生命周期详述
然后我们后面在调用一下vm.$mount(el),再看一下结果看一下

vm.$mount('#app')

ok,此时发现代码又往下执行啦!
vue生命周期详述
template 参数选项堆生命周期的影响

  1. 如果vue实例对象中有template参数选项,则将其作为模板编译成render函数

  2. 如果没有template选项,则将其外部HTML作为模板编译。

  3. 可以看出template中的模板优先级要高于outer HTML的优先级

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>生命周期02</title>
  <script src="../../vue.js"></script>
 </head>
 
 <body>
  <div id="app">
   <h1>{{message+ "---这是在outer HTML中的"}}</h1>
  </div>
 </body>
 <script type="text/javascript">
  const vm = new Vue({
   el:'#app',
   template:"<h1>{{message+'---这是在template中的'}}</h1>",
   // render:function(createElement){
   //  return createElement('h1','this is createElement');
   // },
   data:{
    message:'Vue的生命周期'
   }
  })
 </script>
</html>

执行后结果为:
vue生命周期详述
然后,我们将vue中的template的选项注释掉之后,再看一下
vue生命周期详述

所以呀,这下就明白为什么el的判断要再template之前了吧,是因为vue需要通过el找到对应的outer template。

在vue的对象中呢,还有一个render函数,它是以createElement作为参数,然后做渲染操作。

   render:function(createElement){
     return createElement('h1','this is createElement');
    },

此时呢,页面中渲染的是:
vue生命周期详述

因此他们之间的优先级为:render函数选项>template选项>outer HTML

3.beforeMount 和mounted 钩子函数间的生命周期

vue生命周期详述
可以看到此时是给vue实例对象添加$el成员,并且替换掉挂载的DOM元素。因为在之前的console中打印的结果可以看到beforeMounted之前el上还是undefined

4.mounted

vue生命周期详述
在mounted之前的h1中还是通过{{message}}进行占位的,因为此时还要挂载到页面上,还是js中的虚拟DOM形式存在的。在mounted之后可以看到h1的内容发生改变。


本文地址:百科问答频道 https://www.neebe.cn/wenda/903243_2.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


百科问答
小编:小易整编
相关文章相关阅读
  • 什么是Vue

    什么是Vue

    Vue.js(Vue)是一套用于构建用户界面的开源渐进式JavaScript框架。与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。Vue.js(Vue...

  • mpvue是什么,详解基于Vue的开发框架mpvue

    mpvue是什么,详解基于Vue的开发框架mpvue

    mpvue是什么,详解基于Vue的开发框架mpvue接触微信小程序有一段时间的开发者或开发团队,我相信多多少少都会为自己搭建封装一些便于开发的框架/脚手架,尤其是一些做过Web开发的开发者,受到现如今Web主流开发框架如Angular,Re...

  • vue路由跳转的方式有哪些,vue路由跳转详解

    vue路由跳转的方式有哪些,vue路由跳转详解

    vue路由跳转的方式有哪些,vue路由跳转详解声明式导航1.router-link组件支持用户在具有路由功能的应用中(点击)导航。通过to属性指定目标地址,默认渲染成带有正确链接的a标签,可以通过配置tag属性生成别的标签.不带参数:

  • vue组件怎么写,vue组件介绍

    vue组件怎么写,vue组件介绍

    vue组件怎么写,vue组件介绍一、组件化思想如果我们将一个页面中所有的处理逻辑全部放在一起,处理起来就会变得非常复杂,而且不利于后续的管理以及扩展。但我们将一个页面拆分成一个个小的功能块,每个功能块完成属于自己这部分独立的功能,那么之后整...

  • 软件生命周期详解

    软件生命周期详解

    软件生命周期详解软件开发方法是软件开发操作的方法论。从软件危机开始,越来越多的人开始研究软件开发方法,通过40多年的研究,提出了各种的软件开发方法来支持软件开发流程,现在比较流行的就是面向对象的开发方法等等。软件生命周期软件生命周期就是整个...

  • vue生命周期详述

    vue生命周期详述

    vue生命周期详述,这次来聊一下vue的生命周期!可以看到vue一整个的生命周期中会有很多钩子函数提供给我们在vue生命周期不同的时刻进行操作,那么先列出所有的钩子函数,然后慢慢来!beforeCreatecreatedbeforeMoun...

  • vue计算属性是什么,vue计算属性computed

    vue计算属性是什么,vue计算属性computed

    vue计算属性是什么,vue计算属性computed第一站什么是计算属性computedcomputed是基于它的依赖缓存,只有在它的相关依赖发生改变时才会进行更新。官方文档是这样说的:对于任何包含响应式数据的复杂逻辑,你都应该使用计算属性...

  • vue是什么,vue详解

    vue是什么,vue详解

    vue是什么,vue详解。Vue.js是一个渐进式MVVM框架,目前被广泛使用,也成为目前前端技术中颇具代表性的一个框架。按Vue作者的说法,Vue(及其生态)是一个渐进式MVVM框架,可以按照实际需要逐步进阶使用更多特性。Vue渐进式示...

  • 周排行
  • 月排行
  • 年排行

精彩推荐