angular - 为什么不应该在 Angular 组件的构造函数中进行数据初始化?
问题描述
我是 Angular 6 的新手。我需要通过 API 调用初始化所有下拉字段。很多开发者建议数据初始化的 api 调用应该在 ngOninit 内部完成,而不是通过构造函数来完成?谁能告诉我这背后的原因?
解决方案
这是因为constructor
调用 是为了初始化类而不是组件。constructor
之前调用过ngOnInit
,此时还component
没有创建,只有component
类被实例化,因此你的依赖被引入,但你的初始化代码不会运行。
为了确保你的初始化代码运行,只需将它放在ngOnInit
组件的生命周期钩子方法中,以angular
确保组件已成功创建。
推荐阅读
- mysql - 获得多个条件下的多个计数
- syslog - rsyslog 是否支持循环日志文件?
- youtube-api - 如何以编程方式与用户列表(电子邮件地址)共享“列出”视频?
- javascript - 使用 JavaScript 向上滚动时如何禁用菜单显示
- python - Python 从 Buffer 中读取数据
- mysql - 在 MySQL 中将 varchar 转换为日期的问题
- javascript - 在 puppeteer js 中抓取网页时出错
- python - 更新数据后如何在基于类的视图中返回
- c# - 如何创建具有以通用提供程序(接口)作为参数的构造函数的服务类实例
- javascript - 如何使用 MdPersianDateTime