如果我在构造函数与ngoninit中创建某些东西有什么区别



我通过调用构造函数的函数

创建了表单
constructor(private userManagementService: UserManagementService, private fb:FormBuilder) {
    this.createForm();
  }
  createForm(){
    this.signupForm = this.fb.group({
      firstName:['',Validators.required], 
      lastName:['',Validators.required],
      email:['',Validators.required],
      password:['',Validators.required]
    });
  }

我想我也可以在ngoninit中创建表格

constructor(private fb:FormBuilder) {
  }

ngOnInit{
    this.signupForm = this.fb.group({
      firstName:['',Validators.required], 
      lastName:['',Validators.required],
      email:['',Validators.required],
      password:['',Validators.required]
    });
  }

}

两种方法有什么区别?一个比另一个好吗?

构造函数:

ES6类上的构造方法方法(在这种情况下为Typescript(是 班级本身的特征,而不是角特征。没了 当调用构造函数时,Angular的控制权,这意味着 这不是一个合适的钩子,让您知道何时结束了 初始化组件。

ngoninit:

ngoninit纯粹在那里给我们一个信号,表明角已完成 初始化组件,ngoninit生命周期挂钩是一个 确保您的绑定很容易获得。

这是详细详细介绍它的精彩文章:阅读

上面还有更多讨论:

构造函数和ngoninit之间的差异

https://blog.angularindepth.com/the-essential-difference-betthe-constructor-and-and-ngoninit-in-angular-c9930c209a42

最新更新