注册
登录
Angular
构造函数和ngOnInit之间的区别
返回
构造函数和ngOnInit之间的区别
作者:
狗头军师
发布时间:
2024-01-01 08:27:09 (3月前)
Angular ngOnInit默认提供生命周期挂钩。
ngOnInit如果已经有了,为什么要使用constructor?
收藏
举报
2 条回复
1#
回复此人
v-star*위위
|
2020-08-05 15-40
这Constructor是该类的默认方法,该方法在实例化该类时执行,并确保正确初始化该类及其子类中的字段。角度更好的依赖注入器(DI),分析构造函数参数,并在通过调用它创建新实例new MyClass()时尝试查找与构造函数参数类型匹配的提供程序,将其解析并将其传递给构造函数,例如 new MyClass(someArg); ngOnInit 是Angular调用的生命周期挂钩,以指示Angular已完成创建组件。 OnInit为了使用它,我们必须像这样导入(实际上实施OnInit不是强制性的,但被认为是好的做法): import { Component, OnInit } from '@angular/core'; 然后要使用该方法OnInit,我们必须实现以下类: ``` export class App implements OnInit { constructor() { // Called first time before the ngOnInit() } ngOnInit() { // Called after the constructor and called after the first ngOnChanges() } } ``` 在初始化指令的数据绑定属性之后,实现此接口以执行自定义初始化逻辑。ngOnInit在第一次检查指令的数据绑定属性之后,并且在检查其任何子级之前立即调用。实例化指令后,仅调用一次。 通常,我们ngOnInit用于所有初始化/声明,并避免在构造函数中工作。构造函数应仅用于初始化类成员,而不应执行实际的“工作”。 因此,您应该使用它constructor()来设置依赖注入,而不必设置太多其他内容。ngOnInit()是“开始”的更好位置-解析组件绑定的位置/位置。
编辑
登录
后才能参与评论