zoukankan      html  css  js  c++  java
  • 面试题系列--【vue的生命周期】

    vue的生命周期

    vue实例从创建到销毁的过程就是vue的生命周期

    一共有八个生命周期

    1.beforeCreate

    1.创建之前:什么都是undefined
    
    2.实例初始化之后,this指向创建的实例,不能访问到data、computed、watch、methods上的方法和数据
    

    2.created

    1.创建完成:vue对象创建完成,但是挂载点还没找
    
    2.实例创建完成,可访问data、computed、watch、methods上的方法和数据,未挂载到DOM,不能访问到$el属性,$ref属性内容为空数组
    
    3.常用于简单的ajax请求,页面的初始化
    

    3.beforeMount

    1.如果有el,就会触发挂载期;如果没有,挂载期就不执行
    挂载之前:找到了要挂载的标签(el),但是指令、{{}}还没有解析
    
    2.在挂载开始之前被调用,beforeMount之前,会找到对应的template,并编译成render函数
    
    3.如果Vue没有template选项,那么就解析的是el对应的节点
    如果Vue有tempalte选项,那么解析的就是template,把template替换el
    

    4.mounted

    1.挂载完成:指令、{{}}解析完成,DOM节点加载完成
    2.操作DOM、打开计时器、一进到页面做数据交互、给document、window加事件
    
    3.实例挂载到DOM上,此时可以通过DOM API获取到DOM节点,$ref属性可以访问
    
    

    5.brforeUpdate

    数据变了,页面重新更新之前和更新之后取到的都是新值
    页面重新更新之前
    

    6.updated

    页面重新更新完成
    

    7.beforeDestory

    vm.$destroy() 触发,会引起销毁--
    销毁之前-善后工作 :清除计时器、清除document、window上的事件。
    

    8.destoryed

    销毁完成
    

    vue第一次页面加载会触发哪几个钩子函数?

    beforeCreate、created、beforeMount、mounted
    

    DOM 渲染在哪个周期中就已经完成?

    mounted
    
  • 相关阅读:
    【Python】学习笔记十四:循环进阶
    【Python】学习笔记十三:函数的参数对应
    【Python】学习笔记十二:模块
    输入法核心数据结构及算法的设计
    迭代式软件开发也有陷阱
    C++数组参数应用方式探讨(转)
    数组,结构体初始化 {0} (转载)
    宿主机为linux、windows分别实现VMware三种方式上网(转)
    汽车导航系统背景介绍
    分解大量switch-case分支的两种方法
  • 原文地址:https://www.cnblogs.com/chenhaiyun/p/14883046.html
Copyright © 2011-2022 走看看