- 什么是生命周期钩子
- 指的是从组件被ng创建到销毁中间的一些状态,ng为用户提供了在这些状态发生的时候可做的自定义的操作
- 比如说构造函数初始化完成以后可以让用户自己初始化组件的数据
- 比如说组件被销毁之前可以做一些操作
- ...
- Angular将按照下面列表中的钩子函数顺序执行
- ngOnChanges()
- 当 Angular 设置或重新设置数据绑定的输入属性时响应
- 它把每个发生变化的属性名都映射到了一个SimpleChange对象, 该对象中有属性的当前值和前一个值
- 注意,这发生的非常频繁,所以你在这里执行的任何操作都会显著影响性能
- 其Interface名称为OnChanges
- 使用详情,请参考官网检测变更钩子
- ngOnInit()
- 在 Angular 初始化组件以后的某个时机会执行(在第一次
ngOnChanges
完成后调用,只会调用一次)。
- 一般是用于在构造函数之外初始化组件数据,比如说通过Http请求获取的数据
- 其Interface名称为OnInit
- 使用详情,请参考官网初始化钩子
- ngDoCheck()
ngOnChanges()
无法捕获的变更可以使用此钩子
- 自定义检测虽然很好,但是被调用的频率太高,如果要使用此钩子,其实现必须非常轻量级,否则会很影响用户体验
- 其Interface名称为DoCheck
- 使用详情,请参考官网docheck
- ngAfterContentInit()
- ngAfterContentChecked()
- ngAfterViewInit()
- ngAfterViewChecked()
- ngOnDestroy()
- Angular 每次销毁指令/组件之前调用,在这里反订阅可观察对象和分离事件处理器,以防内存泄漏。
- 基本上都是用于释放不会被自动回收的资源,比如说取消订阅、停止监视DOM事件(Directive)、停止interval计时器、反注册局部或者全局的回调事件。
- 也可以用于通知,比如说告知其他组件,当前组件即刻要消失。
- 使用详情,请参考官网ondestroy
- 参考:https://angular.cn/guide/lifecycle-hooks
posted @
2022-02-26 17:53
北月、大魔王
阅读(
49)
评论()
编辑
收藏
举报
点击右上角即可分享
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!