zoukankan      html  css  js  c++  java
  • vue的生命周期

    通过new Vue() 创建vue实例,vue的生命周期便拉开了序幕

    beforeCreate

    首先会执行beforeCreate钩子函数。此时的vue实例只是一个空壳,还未挂载DOM元素,无法访问到data和真实的dom,一般不做操作。

    vue实例挂载元素$el和数据对象data都为undefined,还未初始化。

    created

    这个时候已经可以使用到数据,也可以更改数据,在这里更改数据不会触发updated函数和不会触发其他钩子函数,一般可以在这里做初始数据的获取。

    vue实例数据data有了,$el还没有。

    beforeMount

    在这个函数中虚拟dom已经创建完成(编译模板,把data里面的数据和模板生成虚拟dom),这里也可以更改数据,不会触发updated,不会触发其他的钩子函数。

    vue实例的$el和data都初始化了,但还是挂载之前的虚拟dom节点。

    mounted

    在这个函数调用时,组件已经出现在页面中,数据、真实dom都已经处理好了,事件都已经挂载好了,可以在这里操作真实dom等事情。

    beforeUpdate

    当组件或实例的数据更改之后,会立即执行beforeUpdate,然后vue的虚拟dom机制会重新构建虚拟dom与上一次的虚拟dom树利用diff算法进行对比之后重新渲染。

    updated

    当更新完成后,执行updated,数据已经更改完成,dom也重新render完成,可以操作更新后的虚拟dom。

    beforeDestroy

    当通过某种方式调用$destroy方法后,立即执行beforeDestroy函数做一些善后工作,如清除计时器、清除非指令绑定的事件等。

    destroyed

    组件的数据绑定、监听等去掉后只剩下dom空壳,此时执行destroyed。当然,也可以在这里完成上述操作。

    原文:https://www.jb51.net/article/145668.htm

    通过new Vue() 创建vue实例,vue的生命周期便拉开了序幕,首先会执行beforeCreate钩子函数。此时的vue实例只是一个空壳,还未挂载DOM元素,无法访问到数据和真实的dom,一般不做操作。

  • 相关阅读:
    python 多进程-03 进程池
    python 多进程-02 进程间数据共享
    python 多进程-01 基本使用
    python 多线程-02 线程池
    开发者入驻
    小程序组件 scroll-view 下拉加载更多,触底触发事件,容器高度设置
    Array.from在360浏览器和IE浏览器兼容问题
    获取cookie
    背景图左右居中
    uniapp使用uni.setStorageAsync刷新页面数据丢失问题
  • 原文地址:https://www.cnblogs.com/xjy20170907/p/12888339.html
Copyright © 2011-2022 走看看