当前位置:网站首页 > Vue.js开发 > 正文

vue钩子函数有哪些含义(vue2钩子函数)



  • 挂载阶段:、、、,
  • 更新阶段:、,
  • 销毁阶段:、

beforeCreate

 

created

 

beforeMount

 

mounted

 

beforeUpdate

 

updated

 

beforeDestory

 

destory

 

父子组件钩子函数在三个阶段的代码执行顺序

 

========================================================

deactivated

 

activated

 

使用场景:

// 1. 用户在某个列表页面选择筛选条件过滤出一份数据列表,由列表页面进入数据详情页面,再返回该列表页面,我们希望:列表页面可以保留用户的筛选(或选中)状态
// 2. keep-alive就是用来解决这种场景。当然keep-alive不仅仅是能够保存页面/组件的状态这么简单,它还可以避免组件反复创建和渲染,有效提升系统性能。总的来说,keep-alive用于保存组件的渲染状态
// 3. 使用keep-alive缓存组件本身是为了提高页面的性能,快速加载页面,但有时候在特定场景和条件中,比如在其他的组件对数据库中的数据发生更改,我们需要去更新当前组件的数据状态,而因为组件没有销毁,所以created和mounted钩子函数都不执行,deactivated和activated就是用来解决这个问题。

如何使用(触发)

当组件被keep - alive包裹时, 再次进入此组件, 此时组件是处于存活的情况下;
如果当前组件存在activated() 函数, 一进入组件activated() 立即触发;
这时我们就可以根据特定的条件去初始化组件数据。 当离开存在deactivated() 函数的组件时, 因为此时组件对象已经处于存活状态下, 所以一离开组件deactivated() 函数就触发(也可以根据特定的条件做一些事情)

========================================================

全局前置钩子beforeEach

 

全局后置钩子afterEach

 
 
  • 使用场景:
    • 消除组件中的定时器
    • 当页面有未关闭的窗口,或未保存的内容时,阻止页面跳转
    • 保存相关内到Vuex和Session中

beforeRouteEnter

 

beforeRouteUpdate

 

beforeRouteLeave

 

========================================================

  • 对普通dom元素进行底层操作
  • : 指令被绑到元素上的时候使用, 只会执行一次
     
  • : 绑定指令的元素被添加到父元素上的时候使用, 只会执行一次
     
  • : 所在组建的VNode更新时调用, 但是可能发生在其子VNode更新之前, 也就是说元素更新, 但子元素尚未更新, 将调用此钩子(自定义指令所在组件更新时执行, 但是不保证更新完成)— > 和自定义所在组件有关
     
  • : 组件和子级更新后执行(自定义指令所在组件更新完成, 且子组件也完成更新).
     
  • : 解绑(销毁) 自定义指令所在的dom销毁时执行, 只调用一次.

========================================================

  • - 自定义指令所在组件, 创建后
  • - 就是Vue2.x中的 bind, 自定义指令绑定到 DOM 后调用.只调用一次, 注意: 只是加入进了DOM, 但是渲染没有完成
  • - 就是Vue2.x中的 inserted, 自定义指令所在DOM, 插入到父 DOM 后调用, 渲染已完成(最最重要)
  • - 自定义指令所在 DOM, 更新之前调用
  • - 就是Vue2.x中的 componentUpdated
  • - 销毁前
  • - 销毁后

========================================================

 

onMounted

 

onBeforeUpdate

 

onUpdated

 

onBeforeUnmount

 

onUnmount

 

onErrorCapture

到此这篇vue钩子函数有哪些含义(vue2钩子函数)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!
                            

版权声明


相关文章:

  • vue2官网(vue2官网中文文档下载)2025-03-09 10:45:08
  • 安装node环境 vue npm(nodejs安装vue)2025-03-09 10:45:08
  • pcie5.0固态硬盘(pcie5.0固态硬盘主板)2025-03-09 10:45:08
  • vue插槽有哪些(vue插槽用法)2025-03-09 10:45:08
  • 路由守卫(vue路由守卫)2025-03-09 10:45:08
  • auto.js全局变量(js 全局变量)2025-03-09 10:45:08
  • ubuntu20.04镜像下载(ubuntu镜像下载地址)2025-03-09 10:45:08
  • 卡巴斯基7.0(卡巴斯基7.0下载)2025-03-09 10:45:08
  • vue2官网教程(vue2.0教程)2025-03-09 10:45:08
  • ubuntu20升级内核(ubuntu 20.04升级内核)2025-03-09 10:45:08
  • 全屏图片