Как решить Uncaught (в обещании): Ошибка: StaticInjectorError в Angular 7?

Я пытаюсь внедрить сервис в компонент моего приложения Angular. Я использую версию 7 Angular.

Вот мой 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 {
}

Когда я перехожу к компоненту панели мониторинга, эта ошибка регистрируется в консоли:

Ошибка: Uncaught (в обещании):

Ошибка: StaticInjectorError (AppModule) [AdminDashboardComponent -> ArtistService]:

StaticInjectorError (Платформа: ядро) [AdminDashboardComponent -> ArtistService]: NullInjectorError: Нет поставщика для ArtistService!

Я попытался решить эту проблему, обновив мой сервис с этим декоратором:

@Injectable({
    providedIn: 'root'
})

Но я все еще получаю ту же ошибку. Может кто-нибудь указать, что мне нужно изменить? Заранее большое спасибо

Всего 1 ответ


либо вам нужно предоставлять свои услуги в модуле (например, AppModule), как показано ниже

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

или, как вы упомянули, используя providedIn ниже, как в вашем сервисе

@Injectable({
    providedIn: 'root'
})

Есть идеи?

10000