Ng引导和Angular 9兼容性

Ng引导和Angular 9兼容性,angular,ng-bootstrap,Angular,Ng Bootstrap,升级到Angular 9后,我发现与ng引导相关的以下错误: src/app/shared/Components/form controls/dropdown select/dropdown select.component中出错。ts:87:63- 错误TS2304:找不到名称“NgbDropdownMenu” 87@ViewChild('dropdownMenu',{static:false})dropdownMenu:NgbDropdownMenu; ~~~~~~~~~~~~~~~ src

升级到Angular 9后,我发现与ng引导相关的以下错误:

src/app/shared/Components/form controls/dropdown select/dropdown select.component中出错。ts:87:63- 错误TS2304:找不到名称“NgbDropdownMenu”

87@ViewChild('dropdownMenu',{static:false})dropdownMenu:NgbDropdownMenu; ~~~~~~~~~~~~~~~ src/app/private/private shared/Services/ngb modal stack extend.service.ts:1:39-错误TS2305:Module'../../../../../../../../../../../../../../../../../../../../../../../../../../node_modules/@ng bootstrap/ng bootstrap''没有导出的。1导入{NgbModalRef,NgbActiveModal,isString,isDefined,NgbModalBackdrop,ContentRef,NgbModal, 来自“@ng bootstrap/ng bootstrap”的NgbModalWindow}; ~~~~~~~~ src/app/private/private shared/Services/ngb模态堆栈extend.service.ts:1:49-错误TS2305:Module “../../../../../../../../../../../../../../node_modules/@ng bootstrap/ng bootstrap/ng bootstrap””没有 导出的成员“已定义”。 1导入{NgbModalRef,NgbActiveModal,isString,isDefined,NgbModalBackdrop,ContentRef,NgbModal, 来自“@ng bootstrap/ng bootstrap”的NgbModalWindow}; ~~~~~~~~~ src/app/private/private shared/Services/ngb modal stack extend.service.ts:1:60-错误TS2305:Module'../../../../../../../../../../../../../../../../../../../../../../../../../../node_modules/@ng bootstrap/ng bootstrap/ng 导出的成员“NgbModalBackdrop”

1导入{NgbModalRef,NgbActiveModal,isString,isDefined,NgbModalBackdrop,ContentRef,NgbModal, 来自“@ng bootstrap/ng bootstrap”的NgbModalWindow}; ~~~~~~~~~~~~~~~~ src/app/private/private shared/Services/ngb模态堆栈extend.service.ts:1:78-错误TS2305:Module “../../../../../../../../../../../../../../node_modules/@ng bootstrap/ng bootstrap/ng bootstrap””没有 导出的成员“ContentRef”。 1导入{NgbModalRef,NgbActiveModal,isString,isDefined,NgbModalBackdrop,ContentRef,NgbModal, 来自“@ng bootstrap/ng bootstrap”的NgbModalWindow}; ~~~~~~~~~~ src/app/private/private shared/Services/ngb模态堆栈extend.service.ts:1:100-错误TS2305: 模块“../../../../../../../../../../../../../node_modules/@ng bootstrap/ng bootstrap/ng bootstrap””具有 没有导出成员“NgbModalWindow”

1导入{NgbModalRef,NgbActiveModal,isString,isDefined,NgbModalBackdrop,ContentRef,NgbModal, 来自“@ng bootstrap/ng bootstrap”的NgbModalWindow}

Package.json "@angular/cdk": "9.2.4", "@angular/common": "9.1.11", "@angular/compiler": "9.1.11", "@angular/core": "9.1.11", "@angular/forms": "9.1.11", "@angular/localize": "9.1.11", "@angular/material": "9.2.4", "@angular/platform-browser": "9.1.11", "@angular/platform-browser-dynamic": "9.1.11", "@angular/router": "9.1.11", "@ng-bootstrap/ng-bootstrap": "4.1.2", "rxjs": "6.3.3", }, "devDependencies": { "@angular-builders/jest": "^7.2.0", "@angular-devkit/build-angular": "~0.1000.0", "@angular/cli": "^9.1.9", "@angular/compiler-cli": "9.1.11", "@schematics/angular": "^9.1.5", Package.json “@angular/cdk”:“9.2.4”, “@angular/common”:“9.1.11”, “@angular/compiler”:“9.1.11”, “@angular/core”:“9.1.11”, “@angular/forms”:“9.1.11”, “@angular/localize”:“9.1.11”, “@角度/材料”:“9.2.4”, “@角度/平台浏览器”:“9.1.11”, “@angular/platform browser dynamic”:“9.1.11”, “@angular/router”:“9.1.11”, “@ng bootstrap/ng bootstrap”:“4.1.2”, “rxjs”:“6.3.3”, }, “依赖性”:{ “@angular builders/jest”:“^7.2.0”, “@angular devkit/build angular”:“~0.1000.0”, “@angular/cli”:“^9.1.9”, “@angular/compiler cli”:“9.1.11”, “@schematics/angular”:“^9.1.5”,
ng bootstrap 4.x.x适用于Angular 7。您需要将其更新为ng bootstrap 6.x.x才能与Angular 9配合使用。您可以查看ng bootstrap兼容性表以及安装说明,更新与下表相关的版本

  ng-bootstrap    Angular Bootstrap CSS
    1.x.x           5.0.2   4.0.0
    2.x.x           6.0.0   4.0.0
    3.x.x           6.1.0   4.0.0
    4.x.x           7.0.0   4.0.0
    5.x.x           8.0.0   4.3.1
    6.x.x           9.0.0   4.4.1
    7.x.x          10.0.0   4.5.0

Ngbdropdownmenu是否已导入?我已从“@ng bootstrap/ng bootstrap”添加了导入{Ngbdropdownmenu},并且我得到一个错误属性“_menu”是私有的,并且只能在类“NgbDropdown”中访问此代码:@ViewChild('dropdownMenu',{static:false})下拉菜单:NgbDropdownMenu;@HostListener('window:resize')onResize(){if(this.dropDownMenu.isOpen&&this.dropDownMenu.dropdown._menu.placement=='top'