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

  • 相关阅读:
    基于modelforms组件实现注册功能
    Django中间件添加白名单
    微信公众号推广工具
    Mysql数据库密码忘记的解决办法
    Redis 高可用及分片集群,说了你也不懂
    SQLAlchemyの增删改查
    metaclass 了解一下
    伊戈尔·赛索耶夫的旗帜
    一些容易搞混的问题
    林纳斯·托瓦兹的旗帜
  • 原文地址:https://www.cnblogs.com/xjy20170907/p/12888339.html
Copyright © 2011-2022 走看看