angular - Angular:如何在延迟加载的模块中改变核心模块服务?
问题描述
想象一下,您在核心模块中创建了一个如下所示的服务:
export interface Content {
name: string;
content: string;
}
@Injectable()
export class ContentService {
contents: Array<Content> = [];
getContent(name: string) {
return this.contents.filter(content => content.name === name)[0];
}
}
这个想法是您将拥有多个延迟加载的模块,并且在每个模块中,一个组件将调用此服务单例,传入其模块的名称,并获取其相关内容。
现在,您可以Content
在核心模块或应用程序模块中为该服务添加工厂中的所有对象,但是有没有办法改变每个延迟加载模块中ContentService
的单例并添加该模块的内容对象?
您可以更改延迟加载模块中组件中的单例,但我希望在模块级别或模块加载中的某种事件侦听器中执行此操作。
解决方案
推荐阅读
- sqlite - 每年发生的 Sqlite 计数
- javascript - 如何在 for 循环中使用 lodash unionBy 动态传递参数?
- c# - XmlDataDocument - XML 限制不当
- apache-spark - IPv6 上的 Apache Spark
- c# - 不在多线程环境中为具有 Bigint 作为数据类型的 SQL 列生成随机唯一 ID
- python - PySpark - 将组时间序列截断为 24 小时
- javascript - Nuxt 读取组件内的模块状态
- bash - 将地图变量传递给 Terraform 命令行
- python - 安装flask-mysqldb的Mac OS Python3 env错误
- docker - 共享环境中的 Docker 秘密保护