vue生命周期的详解

vue生命周期:

1. 创建阶段:beforeCreate();created()
2. 挂载阶段:beforeMount();mounted()
3. 更新阶段:beforeUpdate();updated()
4. 销毁阶段:beforeDestroy();destroyed()

这是vue生命周期阶段,但我们可知道当中的过程是怎样的,其实官网的生命周期图示以及解释的非常清楚了(下图),如果您能看懂官方的图示,那就没必要再继续往下阅读了。如果你还有疑惑,我会再后面按照官方生命周期图示,详细解释每个阶段的过程。

vue生命周期图
来源 vue官网生命周期图示

vue生命周期详解:

1. 创建阶段:
  • 新建 vue 实例 new vue()
  • 读取配置项,加载生命周期方法
  • 调用 beforeCreate()
  • 设置 data、methods、computed… 等配置项
  • 调用created()
2. 挂载阶段:
  • 判断是否拥有 template 配置项
    • 有:传入 render 函数,编译template
    • 没有:把 el 对应的 outerHTML 当成 template 传入 render 函数编译
  • 调用 beforeMount()
  • 使用编译后结果替换 el 作用的 dom
  • 调用 mount()
3. 更新阶段:

只有数据发生变化,并且 dom 使用了该数据,dom 才会更新,此时才执行更新的生命周期方法,更新前和更新后不是数据更新的状态,而是 dom 更新前与更新后。

  • 数据发生变化
  • 调用 beforeUpdate()
  • 重新渲染 dom
  • 调用 updated()
4. 销毁阶段:
  • 执行 vm.$destroy() 销毁实例
  • 调用 beforeDestroy()
  • 实例移除 data、methods、computed…
  • 调用 destroyed()

至此整个vue的生命周期完成;
希望以上的内容能让你对vue生命周期有更深的理解

发布了9 篇原创文章 · 获赞 27 · 访问量 319

猜你喜欢

转载自blog.csdn.net/wstomc/article/details/104433668