关于vue实例的生命周期根据官网的说明以及查看别人的分析并结合项目总结如下:
通过new Vue()创建实例,然后执行init方法(vue组件里面默认去执行的)
调用BeforeCreate钩子函数
init了injections和reactivity,之后调用created钩子函数
判断有没有el存在,如果存在就继续往下执行,没有的话就停止编译,知道出现了el选项或者调用了vm.$mount(el)
继续往下,如果发现有template参数选项,就将它作为模板编译成render函数(vue通过指定的id找到对应的外部html template)
这一步完成之后执行BeforeMounted钩子函数,创建$el成员并且添加到vue实例对象上替换掉挂载的dom元素。当vue发现daya中的数据发生变化时,会触发相应的组件进行重新渲染,先后调用了BeforeUpdate和update钩子函数
当vm.$distory() is called,先执行BeforeDestory钩子函数,这时候实例仍然可以使用直到调用了destory对实例进行销毁