• 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,一般不做操作。

  • 相关阅读:
    运算符重载
    vmware 下 ubuntu 不能全屏显示 的解决方法
    最优化
    常见算法(logistic回归,随机森林,GBDT和xgboost)
    转:CRF++词性标注
    条件随机场(CRF)理论及应用
    转:RNN(Recurrent Neural Networks)
    RNN(Recurrent Neural Networks)公式推导和实现
    ML、DL相关资源
    机器学习(周志华西瓜书) 参考答案 总目录
  • 原文地址:https://www.cnblogs.com/xjy20170907/p/12888339.html
Copyright © 2020-2023  润新知