ngx-bootstrap 7: BsDropdownModule 错误 TS2554: 需要 0 个参数,但得到 1 个
ngx-bootstrap 7: BsDropdownModule error TS2554: Expected 0 arguments, but got 1
在我的 Angular 应用程序中,我使用 ngx-bootstrap 版本 6.x,当我尝试更新到 7.x 时,我收到以下错误:
Error: Error: src/app/app.module.ts:41:30 - error TS2554: Expected 0 arguments, but got 1.
41 BsDropdownModule.forRoot({ isAnimated: false, autoClose: true }),
我应该如何为版本 7.x 中的 BsDropdownModule
设置配置?
根据 BsDropdownModule,forRoot()
没有参数。
因此,您必须从BsDropdownModule.forRoot()
中删除参数。
要覆盖默认的 BsDropdownState
值,您必须为 AppModule
或 Component
.
注入 BsDropdownConfig
到 providers
import { BsDropdownConfig, BsDropdownModule } from 'ngx-bootstrap/dropdown';
export const BS_DROPDOWN_CUSTOM = {
isAnimated: false,
autoClose: true
};
@NgModule({
imports: [
BsDropdownModule.forRoot()
],
providers: [
{
provide: BsDropdownConfig,
useValue: BS_DROPDOWN_CUSTOM
}
]
})
export class AppModule {}
注意:您可能不需要将 BsDropdownConfig
注入 providers
,因为默认值 (BsDropdownState
) 与您的相同提供的配置。
export class BsDropdownModule {
static forRoot(): ModuleWithProviders<BsDropdownModule> {
return {
ngModule: BsDropdownModule,
providers: [
ComponentLoaderFactory,
PositioningService,
BsDropdownState
]
};
}
}
export class BsDropdownState {
direction: 'down' | 'up' = 'down';
autoClose = true;
insideClick = false;
isAnimated = false;
...
}
在我的 Angular 应用程序中,我使用 ngx-bootstrap 版本 6.x,当我尝试更新到 7.x 时,我收到以下错误:
Error: Error: src/app/app.module.ts:41:30 - error TS2554: Expected 0 arguments, but got 1.
41 BsDropdownModule.forRoot({ isAnimated: false, autoClose: true }),
我应该如何为版本 7.x 中的 BsDropdownModule
设置配置?
根据 BsDropdownModule,forRoot()
没有参数。
因此,您必须从BsDropdownModule.forRoot()
中删除参数。
要覆盖默认的 BsDropdownState
值,您必须为 AppModule
或 Component
.
BsDropdownConfig
到 providers
import { BsDropdownConfig, BsDropdownModule } from 'ngx-bootstrap/dropdown';
export const BS_DROPDOWN_CUSTOM = {
isAnimated: false,
autoClose: true
};
@NgModule({
imports: [
BsDropdownModule.forRoot()
],
providers: [
{
provide: BsDropdownConfig,
useValue: BS_DROPDOWN_CUSTOM
}
]
})
export class AppModule {}
注意:您可能不需要将 BsDropdownConfig
注入 providers
,因为默认值 (BsDropdownState
) 与您的相同提供的配置。
export class BsDropdownModule {
static forRoot(): ModuleWithProviders<BsDropdownModule> {
return {
ngModule: BsDropdownModule,
providers: [
ComponentLoaderFactory,
PositioningService,
BsDropdownState
]
};
}
}
export class BsDropdownState {
direction: 'down' | 'up' = 'down';
autoClose = true;
insideClick = false;
isAnimated = false;
...
}