[英]Can't resolve all parameters for … ([object Object],[object Object], ?, ?)
[英]Can't resolve all parameters for ToastrService: (?, [object Object], [object Object], [object Object], [object Object])
我正在我的角度組件中應用 toasterjs。 這是我的代碼。 我已經使用以下代碼導入了ToastrService
:
import { ToastrService } from 'ngx-toastr';
並在構造函數中注入該服務
constructor(private toastrService: ToastrService) {
}
this.toastrService.success('You are awesome!', 'Success!',)
但它給出了以下錯誤:
無法解析 ToastrService 的所有參數:(?, [object Object], [object Object], [object Object], [object Object])
當我轉到它的定義時,它采用 4 個參數。 以下是參數:
success(message?: string, title?: string, override?: Partial<IndividualConfig>): ActiveToast;
我還添加了模塊:
imports: [
ToastrModule.forRoot(),
CommonModule,
HttpModule,
FormsModule,
ReactiveFormsModule,
TextboxModuleShared,
DateTimeModuleShared,
DropdownModuleShared
],
那么如何使用參數,因為我只想顯示成功消息?
您以錯誤的順序在應用程序的 NgModule 中導入了ToastrModule
。 它應該按照文檔中指示的順序導入:
@NgModule({
imports: [
CommonModule,
BrowserAnimationsModule, // required animations module
ToastrModule.forRoot(), // ToastrModule added
],
bootstrap: [App],
declarations: [App],
})
class MainModule {}
如果此應用程序如此處所示在瀏覽器中運行,您還應將CommonModule
替換為BrowserModule
。
請注意,在調用success
函數時不會發生錯誤,而是在調用ToastrService
的構造函數時發生ToastrService
。 您的錯誤消息明確指出並非 ToastrService 構造函數的所有參數都可以解析。 其中一些參數無法解析,因為尚未創建這些參數的實例。 要了解這是如何工作的,您應該閱讀有關 Angular 框架內的依賴注入的文檔。
需要考慮的問題:我遇到了同樣的問題。 所以在這里我如何獲得解決方案
安裝“ngx-toastr”包並使用“toastr.css”更新angular.json文件后
angular 應該使用 ng-serve 命令重新運行,因為應用程序不是通過更改 angular.json 文件來呈現的
嘗試導入 'Inject' 裝飾器,然后在構造函數中裝飾參數,作為參數,您應該像這樣添加 ToastrService:
constructor(@Inject(ToastrService) private toastyService: ToastrService ) { }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.