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
    
  • 相关阅读:
    C# 异步编程 (12)
    C# 动态语言扩展(11)
    C# LINQ(10)
    代码整洁之道(1)
    C# 集合(9) 持续更新
    C# 字符串和正则表达式(8) 持续更新
    C# 委托、lambda表达式和事件 (7) 持续更新
    C# 运算符和类型强制转换(6) 持续更新
    C++_将图二维矩阵形式转为邻接表结构
    .NET(C#)连接各类数据库-集锦
  • 原文地址:https://www.cnblogs.com/chenhaiyun/p/14883046.html
Copyright © 2011-2022 走看看