vue生命周期的实际应用

项目中只用到过mounted, updated生命周期
想知道beforeCreate、create.......destroyed在项目中有什么实际用法

阅读 3.7k
3 个回答

这个东西并没有说什么规定的应用,而是vue希望向开发者提供组件的整个生命周期中的一些时刻调用的钩子函数,你需要了解的是这些钩子函数在什么时候运行,此时组件状态是怎样的,这个钩子函数结束后会做什么,
beforeCreate为例:

  1. 生命周期的各个阶段提供的钩子函数何时运行?

    • beforeCreate 在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。
  2. beforeCreate,此时组件状态如何

    • 实例初始化,但是数据观测 (data observer) 和 event/watcher 事件配置均为调用
  3. beforeCreate钩子函数结束后会做什么

    • 实例创建,init injections reactivity

知道了以上这些,可以知道,beforeCreate执行时,数据观测 (data observer) 和 event/watcher 事件配置都还没有运行,那么我们就可以做一些改变,甚至修改这些数据观测 (data observer) 和 event/watcher 事件,这个时候就是结合业务场景来看的,比如有的时候为了做适应,可能事件最开始是click事件,但是某些情况希望是touch事件,这里就可以修改,做判断了。

要看应用场景,比如created,假如你需要中vux中取数据,在模版中使用,那么你需要在dom挂载之前获取到数据,这个操作就在created里面做

声明周期钩子,就是当组件在某个生命周期时候触发,比如说如果需要手工操作dom或者其它非vue插件需要操作dom,那么必须得在dom生成后,那这时候就得在mounted触发。

再比如说一些组件在不使用的时候,内部的数据还在使用,那么在destroyed的时候手工清理掉就可以实现内存优化。

再比如说,组件内需要ajax获取数据,那么就可以在create时使用ajax,这时候dom还未渲染,正好用于获取数据。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题