10.Vue生命周期

153 阅读2分钟

生命周期有四对,八个 四对:

  1. 创建前(beforeCreate), 创建后(created)
  2. 挂载前(beforeMount), 挂载后(mounted)
  3. 更新前(beforeUpdate), 更新后(updated)
  4. 销毁前(beforeDestroy), 销毁后(destroyed)
a.    创建前
        beforeCreate( ) {
            //创建前,几乎不用
            // 拿不到任何东西,data里面所定义的变量,以及Dom节点都无法拿到
            //因为这些数据都没有完成初始化
        }


b.创建后
created( ) {
    //是一个常用的生命周期
    //初始化页面数据,可以在这个生命周期内发送ajax请求
    //可以拿到data里面所定义的值, 可以对所拿到的值进行操作
    //拿不到DOM元素
    
}


c.挂载前
beforeMount( ) {
    //这是一个不常用的生命周期
    //可以获取到data所定义的东西
    //获取不到DOM元素
}


d.挂载后
mounted( ){
    //可以获取到data所定义的东西,以及DOM元素
    //如果需要用到操作DOM元素的时候,会用到这个生命周期,如 Echarts初始化,highChart/d3/antV/ht
}

e.更新前
beforeUpdate( ){
    //只有在绑定到页面节点上的数据发生变化后,这个生命周期才会被触发
}

f.更新后
updatad( ){
    //也是需要在绑定到页面节点上的数据发生变化后,这个生命周期才会被触发
}
注释:更新的整个生命周期几乎都不怎么用


g. 销毁前
beforeDestroy( ){
    //使用:echarts 对象释放
    //清除定时器
}

h.销毁后
destroyed ( ){


}
注释:不论是销毁前还是销毁后。 vNode已经从DOM树上移除了
            beforeDestroy 虽然vNode从DOM树上移除,但VNode并没有从虚拟DOM上移除,所以通过$refs还是可以拿到元素
            destroyed 已经是全部移除

主题列表:juejin, github, smartblue, cyanosis, channing-cyan, fancy, hydrogen, condensed-night-purple, greenwillow, v-green, vue-pro, healer-readable, mk-cute, jzman, geek-black, awesome-green, qklhk-chocolate

贡献主题:github.com/xitu/juejin…

theme: juejin highlight: