个人理解: 一、vue分为4个阶段(细分为8个小阶段) 第一阶段:创建实例:
1、beforeCreate阶段:实例初始化之后,vue实例自带一些属性和方法(eg:$data等),此时data和methods 以及DOM结构未初始化;
2、created阶段:此时data和methodes可以使用,但页面没有渲染出来
第二阶段:挂载阶段:
1、beforeMount阶段:在挂载开始之前被调用,此时叶面上还看不到真实的数据,只是一个模板页面;
2、mounted阶段:el被vm.$el替换,并挂载到实例上去后调用该钩子函数,此时数据已真实的渲染到页面上;
第三阶段:数据更新阶段:
1、beforeupdate阶段:此时叶面上的数据还是旧的数据;
2、updated阶段:数据发生更改,DOM树进行重新渲染,页面上的数据替换成最新的数据(表单中数据替换成新数据,想要表单实现自动聚焦功能,可以在此阶段进行调用)
第四阶段:销毁阶段:
1、beforeDestroy阶段:实例销毁前调用;
2、destroyed阶段:实例销毁后调用。
注意:在beforeDestroy钩子函数调用之前,所有的实例都可以使用,但是调用之后,Vue实例自私的所有东西都会解除绑定,所有的监听器都会被移除,所有的子实例被销毁。 Vue创建实例到销毁的过程,在这些过程中会伴随着一些自调用函数,这些函数称为钩子函数。