首页 > 解决方案 > 为什么不应该在 Angular 组件的构造函数中进行数据初始化?

问题描述

我是 Angular 6 的新手。我需要通过 API 调用初始化所有下拉字段。很多开发者建议数据初始化的 api 调用应该在 ngOninit 内部完成,而不是通过构造函数来完成?谁能告诉我这背后的原因?

标签: angularconstructorangular6ngoninit

解决方案


这是因为constructor调用 是为了初始化类而不是组件。constructor之前调用过ngOnInit,此时还component没有创建,只有component类被实例化,因此你的依赖被引入,但你的初始化代码不会运行。

为了确保你的初始化代码运行,只需将它放在ngOnInit组件的生命周期钩子方法中,以angular确保组件已成功创建。


推荐阅读