How to resolve Uncaught (in promise): Error: StaticInjectorError in Angular 7?

How to resolve Uncaught (in promise): Error: StaticInjectorError in Angular 7?

我正在尝试将服务注入到我的 Angular 应用程序的组件中。 我正在使用 Angular.

的版本 7

这是我的 dashboard.component:

import { ArtistService } from './artist.service';

export class AdminDashboardComponent implements OnInit {
    constructor(private _artistService: ArtistService) { }
}

这是我的一些 artist.service.ts 文件:

import { Injectable } from '@angular/core';

@Injectable()
    export class ArtistService {
}

当我导航到仪表板组件时,此错误记录到控制台:

Error: Uncaught (in promise):

Error: StaticInjectorError(AppModule)[AdminDashboardComponent -> ArtistService]:

StaticInjectorError(Platform: core)[AdminDashboardComponent -> ArtistService]: NullInjectorError: No provider for ArtistService!

我试图通过使用这个装饰器更新我的服务来解决这个问题:

@Injectable({
    providedIn: 'root'
})

但我仍然收到同样的错误。有人可以指出我需要更改的内容吗?非常感谢

您是否需要在如下所示的模块(例如 AppModule)中提供服务

@NgModule({
   // ... other codes 
   providers: [
      ArtistService
      // ... other codes
   ]
})

或如您提到的那样在您的服务中使用 providedIn

@Injectable({
    providedIn: 'root'
})