Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我可以使用角度服务而不在NgModule的提供商中提及它吗?_Javascript_Angular_Typescript - Fatal编程技术网

Javascript 我可以使用角度服务而不在NgModule的提供商中提及它吗?

Javascript 我可以使用角度服务而不在NgModule的提供商中提及它吗?,javascript,angular,typescript,Javascript,Angular,Typescript,我对Angular和youtube上的freecodecamp教程不熟悉。他们2岁了 在服务教程中,提到我们需要在根模块中提到提供者列表中的服务,以使其工作。但我在书中没有提到 我所观察到的是,在本教程中,在可注入的。但是当我在Angular 10中创建一个新服务时,我在Injectable中默认得到了它。到目前为止,这项服务还没有出现任何问题 这两个是一样的吗 我们是否可以在“根”中提及提供的服务,而不在“提供者”列表中提及,以使其正常工作,反之亦然?您可以通过执行以下两种可能性之一,创建角度

我对Angular和youtube上的freecodecamp教程不熟悉。他们2岁了

在服务教程中,提到我们需要在根模块中提到提供者列表中的服务,以使其工作。但我在书中没有提到

我所观察到的是,在本教程中,在可注入的。但是当我在Angular 10中创建一个新服务时,我在Injectable中默认得到了它。到目前为止,这项服务还没有出现任何问题

这两个是一样的吗


我们是否可以在“根”中提及提供的服务,而不在“提供者”列表中提及,以使其正常工作,反之亦然?

您可以通过执行以下两种可能性之一,创建角度服务单例,以在整个应用程序中共享同一实例:

将其添加到根模块app module中的providers数组

使服务在根目录中提供

@注射的{ providedIn:'根' }

但最好是使用服务本身的@Injectable decorator使其可树摇动

如果现在您可以在延迟加载模块级别提供服务,那么该服务将为每个模块提供一个新实例

或者在组件杠杆中提供服务,这样您的组件及其子组件将具有相同的实例

@Component({
 selector: 'parent',
 template: `...`,
 providers: [ YourService ]
})

通过执行以下两种可能的操作之一,您可以使Angular service singleton在整个应用程序中共享同一实例:

将其添加到根模块app module中的providers数组

使服务在根目录中提供

@注射的{ providedIn:'根' }

但最好是使用服务本身的@Injectable decorator使其可树摇动

如果现在您可以在延迟加载模块级别提供服务,那么该服务将为每个模块提供一个新实例

或者在组件杠杆中提供服务,这样您的组件及其子组件将具有相同的实例

@Component({
 selector: 'parent',
 template: `...`,
 providers: [ YourService ]
})

读这个:谢谢@R.Richards。这澄清了我的疑问。请阅读:谢谢@R.Richards。这澄清了我的疑问。