Angular 5 ng-bootstrap Type'ElementRef'不是通用的错误

Gus*_*aga 17 javascript node.js ng-bootstrap angular angular5

我在这些版本中使用angular 5和ng-bootstrap:

  "private": true,
  "dependencies": {
    "@angular/animations": "^5.2.0",
    "@angular/common": "^5.2.0",
    "@angular/compiler": "^5.2.0",
    "@angular/core": "^5.2.0",
    "@angular/forms": "^5.2.0",
    "@angular/http": "^5.2.0",
    "@angular/platform-browser": "^5.2.0",
    "@angular/platform-browser-dynamic": "^5.2.0",
    "@angular/router": "^5.2.0",
    "@ng-bootstrap/ng-bootstrap": "^2.1.0",
    "angular-in-memory-web-api": "^0.5.4",
    "angular2-moment": "^1.9.0",
    "bootstrap": "^4.1.1",
    "core-js": "^2.4.1",
    "date-util": "^1.2.1",
    "material-icons": "^0.2.1",
    "ngx-bootstrap": "^3.0.0",
    "normalize.css": "^8.0.0",
    "rxjs": "^5.5.6",
    "zone.js": "^0.8.19"
  },
Run Code Online (Sandbox Code Playgroud)

当我得到服务有这个错误:

**

编译失败.

node_modules/@ng-bootstrap/ng-bootstrap/buttons/radio.d.ts(58,96):错误TS2315:类型'ElementRef'不是通用的.node_modules/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-input.d.ts(121,67):错误TS2315:类型'ElementRef'不是通用的.node_modules/@ng-bootstrap/ng-bootstrap/datepicker/datepicker.d.ts(115,208):错误TS2315:类型'ElementRef'不是通用的.node_modules/@ng-bootstrap/ng-bootstrap/dropdown/dropdown.d.ts(12,45):错误TS2315:类型'ElementRef'不是通用的.node_modules/@ng-bootstrap/ng-bootstrap/dropdown/dropdown.d.ts(29,45):错误TS2315:类型'ElementRef'不是通用的.node_modules/@ng-bootstrap/ng-bootstrap/dropdown/dropdown.d.ts(37,44):错误TS2315:类型'ElementRef'不是通用的.node_modules/@ng-bootstrap/ng-bootstrap/modal/modal-window.d.ts(13,40):错误TS2315:类型'ElementRef'不是通用的.

Aza*_*zac 26

我遇到过同样的问题.所以我没有阻止ng-bootstrap.

然后我直接重新安装它的白衣2.0.0版.

npm install --save @ng-bootstrap/ng-bootstrap@2.0.0

  • 只是为了清楚; 卸载的确切命令是:_npm uninstall @ ng-bootstrap/ng-bootstrap_.顺便说一句,请注意安装_still_警告角度版本,但安装后它确实有效. (5认同)

pko*_*rce 13

您需要将Angular 6.0.0或更高版本与ng-bootstrap> = 2.0.0一起使用.npm/yarn install应该在安装过程中给你警告.

恢复到ng-bootstrap 2.0.0 不是一个解决方案,因为您将只是坚持使用此版本的库,并且不会接收更新/修复.

要正确解决此问题,您需要:

  • 将Angular升级到6.0.0或更高版本(推荐)
  • 使用lates ng-bootstrap仍与Angular 5.x兼容(1.1.2)


小智 9

将ng-bootstrap版本更改为"2.0.0"

"@ng-bootstrap/ng-bootstrap": "2.0.0"

然后npm install尝试提供应用程序.

我遇到了同样的问题,上面的方法对我有用.


Enj*_*nin 8

我突然面临同样的问题.

在我的情况下,我使用的是ng-boostrasp 2.0.0,但我是这样指定依赖项:

"@ng-bootstrap/ng-bootstrap": "^2.0.0"
Run Code Online (Sandbox Code Playgroud)

在某个时间点(基于过去成功构建的日志:自6月1日以来的某个地方)开始获取版本2.1.0.

所以我改变了我的package.json来完全选择2.0.0:

"@ng-bootstrap/ng-bootstrap": "2.0.0"
Run Code Online (Sandbox Code Playgroud)

这解决了我的问题.