Angular学习(三)【指令生命周期,路由跳转】

本文深入探讨Angular中指令和组件的生命周期,包括ngOnInit、ngOnChange、ngDoCheck和ngOnDestroy等关键方法。讲解了如何在不同阶段进行操作,如初始化、响应数据变化、检测变化和销毁前的清理。同时,介绍了使用指令进行路由跳转的方法,包括HTML属性方式和代码方式。

指令的生命周期

指令与组件的基本结构非常相似,差别在于组件中包含了模板。组件的部分生命周期方法与指令的相同,下面来看一下:

ngOnInit

ngOnInit 钩子在 Angular 完成初始化输入属性的数据绑定后,初始化指令。

ngOnChange

ngOnChange 在 Angular 初始化输入属性的数据绑定前响应一次,之后当检测到数据绑定发生变化就会被调用,这个方法接受一个包含当前和之前数据的 SimpleChange 对象。

ngDoCheck

ngDoCheck 方法用于检测变化,该钩子方法会在每次变化检测发生时被调用。

ngOnDestroy

ngOnDestroy 方法在 Angular 销毁指令之前执行清理工作,此时应注销观察者对象挥着解绑事件处理器以避免内存泄漏。

尽管组件和指令有相似的结构和一些相同的生命周期方法,但是它们也有一些不同点。

不同与属性指令和结构指令,组件不是以 HTML 的元素属性的形式使用,而是以自定义标签的形式使用,原因在于组件带有模板。组件可作为对 HTML 元素的扩展,将自身的模板视图插入至 DOM 中,而属性指令和结构指令是对 HTML 元素属性的扩展,作用是扩展已有的 DOM 元素的行为和样式,或者改变这些元素在 DOM 中的结构。


路由跳转

使用指令跳转

<a [routerLink]="['/path']">

使用代码跳转

router.navigateBuUrl(['/path']);
// or
router.navigate(['/path']);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值