簡體   English   中英

如何解決未捕獲(承諾):錯誤:Angular 7中的StaticInjectorError?

[英]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 {
}

當我導航到儀表板組件時,此錯誤記錄到控制台:

錯誤:未捕獲(已承諾):

錯誤:StaticInjectorError(AppModule)[AdminDashboardComponent-> ArtistService]:

StaticInjectorError(平台:核心)[AdminDashboardComponent-> ArtistService]:NullInjectorError:ArtistService沒有提供者!

我試圖通過使用此裝飾器更新服務來解決此問題:

@Injectable({
    providedIn: 'root'
})

但是我仍然收到相同的錯誤。 有人可以指出我需要更改的內容嗎? 提前謝謝

您需要在下面的模塊(例如AppModule)中提供服務

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

或您在以下服務中使用providedIn提到的情況

@Injectable({
    providedIn: 'root'
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM