gpt4 book ai didi

javascript - Angular 5 全局组件及其服务

转载 作者:行者123 更新时间:2023-11-29 20:50:35 27 4
gpt4 key购买 nike

查看 Angular 的文档,特别是样式指南,他们列出了共享模块和核心模块。根据文档,服务应该放在核心模块中,组件放在共享模块中。我的问题是,如果我有一个组件,比如说一个自定义文件上传组件,它也有相应的服务,那么该组件和服务应该放在哪里?将两者放在一起似乎是有意义的,因为服务与组件一起使用,但是,这似乎不符合 Angular 标准。有人遇到过这个问题吗?

最佳答案

根据 Angular 风格指南,Angular 并不真正推荐在 SharedModule 中提供服务。这样做的原因是,无论哪个模块导入 SharedModule,都将获得该共享服务的单独实例。这在有状态服务的情况下是 Not Acceptable 。但就您而言,我不确定该服务是否会包含任何状态数据。所以我认为,将此组件和此服务添加到 SharedModule 本身应该是安全的。

同样,考虑到该服务不会有任何状态数据。

此外,Angular 建议在 CoreModule 内提供服务,因为它还建议使 CoreModule 只能由单个模块导入(通常是 AppModule).这就是为什么它也推荐 creating a Guard以防止重新导入 CoreModule。

关于javascript - Angular 5 全局组件及其服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52104459/

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