⽣命周期的钩⼦函数
⽣命周期的钩⼦函数:组件整个⽣命周期⾥能被⾃动调⽤的函数,就是⽣命周期的钩⼦函数
挂载阶段钩⼦函数:(只会执⾏⼀次)
  beforeCreate  最早执⾏
    在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调⽤。
    不能访问数据拿不到数据
  created  常⽤最早获取数据 (发Ajax请求⽤created)
    在实例创建完成后被⽴即调⽤可以获取数据
    可以访问数据经常⽤来发请求访问不到真实的dom节点
  beforeMount
    在挂载开始之前被调⽤
    可以访问数据编译模板结束,虚拟dom已经存在不能拿到节点
  mounted  常⽤可以拿到节点和数据
    可以拿到节点和数据
    实例被挂载后调⽤
  补充:如何拿到节点:ajax实例里面的函数
    ref表⽰节点
    this.$f的标识就可以拿到节点了
更新阶段钩⼦函数:(只要数据改变就会执⾏,只要执⾏了⼀定是数据已经改变了)
  beforUpdata
    数据更新时调⽤,发⽣在虚拟dom打补丁之前(数据变了,虚拟dom还没有改变这⼀部分之前,真实dom也还没有渲染呢)
  updated  常⽤监控数据的变化
    数据更新时调⽤,发⽣在由于数据更改导致的虚拟dom重新渲染和打补丁之后
    防⽌死循环(+=操作会引起死循环)
    与watch之间的区别:watch是监控特定数据的变化 updated是监控组件⾥所有数据的变化
销毁阶段钩⼦函数:
  beforeDestroy
    实例销毁之前调⽤(组件卸载之前),实例仍然完全可⽤。
    清理资源,防⽌内存的泄露
  destroyed
    实例销毁后调⽤(组件卸载之后),对应vue实例的所有指令都被解绑,所有的事件被移除,所有的⼦实例也都被销毁。  补充:destroyed 被调⽤后 this.$destroy 可以销毁组件
keep-alive:
    使⽤:<component :is="存储组件的名字的变量"></component>
    activated 被keep-alive缓存的组件激活时调⽤
    deactivated 被keep-alive缓存的组件停⽤时调⽤
    如果没⽤keep-alive包裹component,那么⼀定会发⽣组件的卸载和挂载,如果包裹了,那么组件不会卸载(销毁),⽽会执⾏deactivated
⽣命周期图⽰:/images/lifecycle.png

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。