vue声明周期分析

版权声明:转载原创文章请注明:文章转载自:前端精髓 https://blog.csdn.net/wu_xianqiang/article/details/79285017

vue

写在前面

vue的声明周期就是从vue的实例创建到vue实例销毁的一个过程。在不同的声明周期中我们可以执行一些操作,下面简单介绍一下。

经历过程

首先是new Vue({})初始化实例的时候会初始化事件和声明周期,初始化完成会调用声明周期钩子函数beforeCreate。 下一步才是注入和添加响应,等完成后会调用created,这个时候可以往data里面添加一些数据,通常会在这个时候获取服务器数据。下一步是判断有没有挂载的元素el或模板 template,然后会对挂载的元素或是模板进行编译,编译完成会调用钩子函数beforeMount,然后就会替换掉el,此时触发beforeMount ,页面被替换之后就数据也会跟着显示出来,但是页面渲染也是需要时间的,并不是替换了DOM就能立马显示出来,所以这个时候操作DOM一定要注意,要保证DOM已经正确渲染,我们可以通过加个定时器延迟20Ms再去操作DOM,20Ms是页面刷新通常是20Ms,当然vue也提供了一个方法nextTick也表示延迟执行,但是我推荐使用定时器这种写法,下一个步骤是要数据变更才会的钩子函数。vue中的数据是有响应的,当数据更新会调用beforeUpdate,然后重新渲染DOM后调用updated,最后是关于实例销毁的,当执行vm.$destory()后会触发钩子函数beforeDestroy,然后是取消事件监听,不再有数据响应了,卸载完成,最后执行destroyed

猜你喜欢

转载自blog.csdn.net/wu_xianqiang/article/details/79285017