angular - Angular 中 APP_INITIALIZER 的等效模块
问题描述
Angular中的APP_INITIALIZER
for 功能模块的等价物是什么?我想在(懒惰地)加载我的功能模块时运行一些代码。该代码将需要注入一些依赖项。
不过,我似乎找不到任何类似的模块项目。我在 Angular 文档网站(“初始化程序”)上使用了搜索,但什么也没找到。我浏览了部分模块文档并在浏览器中使用了类似的搜索词。但我什么也没找到。
如何在 Angular 中加载模块时运行代码(取决于通过 DI 的共享服务)?
PS。可能这是一个 XY 问题,其中“Y”是我上面的问题。在这一点上,我本质上对学习“Y”很感兴趣,但为了完整起见,我的“X”是我希望我的功能模块回调到MenuService
共享模块中的 a 以注册功能模块想要贡献的任何菜单项.
解决方案
不确定这是否是惯用的,但我会通过建议constructor
为此目的使用模块功能来回答我的问题。例如:
@NgModule({
imports: [
CommonModule,
ThingsRoutingModule,
],
declarations: [
// Feature module components here
],
})
export class ThingsModule {
constructor(myService: MySharedService) {
myService.doSomething('From lazy loaded feature module!');
}
}
MySharedService
因此被注入的地方。
推荐阅读
- php - 用 php 提取这个 json 内容
- bash - 如何修复 bash 脚本中的“参数过多”错误
- android - RadioGroup 不适用于不同的活动
- python - 创建包含 ['a', 'bb', 'ccc', ....] 最多 26 个 'z' 的列表
- python - 如果没有进行任何更改,如何防止 Django 表单保存?
- ios - 可以使用 Xcode 11 beta 6 在 AppStore 中提交应用程序吗?
- r - 将 MMM-YY 转换为 1968 年之前的日期
- flutter - Flutter 中的 FloatingActionButton onLongPress 监听器
- python - 如何根据另一个数据框中的值更改一个数据框中的值?
- google-bigquery - BigQuery 给出不一致的结果