gpt4 book ai didi

javascript - 在构造函数中使用 FormBuilder 是一种不好的做法吗?

转载 作者:行者123 更新时间:2023-11-28 16:58:12 25 4
gpt4 key购买 nike

Angular doc here您可以看到下面的实现。即在 constructor() 中声明 formBuilder 和服务。我知道在 constructor() 中使用服务是一种不好的做法。即我们需要为此使用 ngOnInit() 。但我也使用 constructor() 来声明 formBuilder 属性。这样的做法是不是太糟糕了?我也需要使用 ngOnInit() 吗?页面创建会一直持续到 formBuilder 创建为止吗?

export class CartComponent {
items;
checkoutForm;

constructor(
private cartService: CartService,
private formBuilder: FormBuilder,
) {
this.items = this.cartService.getItems();

this.checkoutForm = this.formBuilder.group({
name: '',
address: ''
});
}
}

最佳答案

简短的回答,是的,您应该将大部分初始化逻辑留在 ngOnInit 生命周期 Hook 中。

根据OnInit的 Angular 文档,它用于

  • To perform complex initializations shortly after construction.
  • To set up the component after Angular sets the input properties.

因此,在 ngOnInit 生命周期 Hook 上执行诸如获取数据和初始化表单构建器之类的逻辑将会更加清晰。

你应该看看这个post作者:Misko Hevery,他是 Angular 的团队负责人,他概述了保持构造函数整洁的许多原因。

关于javascript - 在构造函数中使用 FormBuilder 是一种不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58473726/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com