angular - 在 Angular 中自动注册服务
问题描述
在 Vue.js 中,我使用了Vue 指南require.context
中记录的技术
我想知道是否有适用于 Ionic Angular 的等价物,所以我不必添加我写入的每一个服务app.module.ts
解决方案
来自 Angular 文档(https://angular.io/guide/singleton-services#using-providedin):
从 Angular 6.0 开始,创建单例服务的首选方法是在服务的 @Injectable() 装饰器上将 providedIn 设置为 root。这告诉 Angular 在应用程序根目录中提供服务。
import { Injectable } from '@angular/core';
@Injectable({
providedIn: 'root', // <-- here!
})
export class UserService { ... }
因此,如果您在可注入装饰器中设置provideIn
为root
,则无需再将该服务添加到 的providers
数组中AppModule
。
请记住,...
从 Angular 6.0 开始,最好在服务本身上使用 @Injectable() 装饰器的 providedIn 属性,因为它使您的服务可摇树。
推荐阅读
- ruby-on-rails - 循环浏览推广的帖子
- c++ - 使用 dlopen 加载的库不会 dlclose
- java - 在 JTree 中自定义图标后不突出显示节点
- mysql - 从 VM 计算引擎连接到我的数据库
- android - Parse Server - 在 Android/Java 中添加关系
- javascript - 如何检测 Firefox Inspect Element 是否正在运行?
- python - 如何找到所有行,使得列中的字符串是 Pandas 中给定字符串的子字符串
- javascript - 使用 AJAX 时,表单的“动作”属性是否无用?
- javascript - React-native 动画:尝试组合多个动画;出错
- ruby-on-rails - 通过 pluck 返回关联对象的 id