簡體   English   中英

無法解析 ToastrService 的所有參數:(?, [object Object], [object Object], [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.

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