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

标签 javascript angular

浏览 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/

相关文章:

angular - 在 angular-cli 应用程序中使用 jsonwebtoken 时出错

javascript - Node如何让socket只接受本地连接?

javascript - 如何检查应用程序现在是前台还是后台?

javascript - 当表单已经为 [disabled] 字段设置了 form.valid 字段时,在提交表单后禁用按钮

angular - 在 MatTab Material 上创建(单击)事件

angular - 属性绑定(bind)与属性插值

javascript - AWS API 网关的 HTTP 客户端请求

javascript - Express:一条路由的基本认证

javascript - 如何将robots.txt添加到 Node 应用程序?

javascript - React Search Box 在添加文本时工作良好但在向后方向不工作(当通过退格键删除一些文本时)-ReactJS/Javascript