web-dev-qa-db-fra.com

Angular 5 ng-bootstrap Le type 'ElementRef' n'est pas une erreur générique

J'utilise angular 5 et ng-bootstrap dans ces versions:

  "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"
  },

quand je reçois ng a cette erreur:

**

Échec de la compilation.

node_modules/@ng-bootstrap/ng-bootstrap/buttons/radio.d.ts (58,96): erreur TS2315: Le type 'ElementRef' n'est pas générique . node_modules/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-input.d.ts (121,67): erreur TS2315: Le type 'ElementRef' n'est pas générique . node_modules/@ng-bootstrap/ng-bootstrap/datepicker/datepicker.d.ts (115,208): erreur TS2315: Le type 'ElementRef' n'est pas générique . node_modules/@ng-bootstrap/ng-bootstrap/dropdown/dropdown.d.ts (12,45): erreur TS2315: Le type 'ElementRef' n'est pas générique . node_modules/@ng-bootstrap/ng-bootstrap/dropdown/dropdown.d.ts (29,45): erreur TS2315: Le type 'ElementRef' n'est pas générique . node_modules/@ng-bootstrap/ng-bootstrap/dropdown/dropdown.d.ts (37,44): erreur TS2315: Le type 'ElementRef' n'est pas générique . node_modules/@ng-bootstrap/ng-bootstrap/modal/modal-window.d.ts (13,40): erreur TS2315: Le type 'ElementRef' n'est pas générique.

16
GustavoFraga

J'ai eu le même problème. J'ai donc désarmé le ng-bootstrap.

Ensuite, je le réinstalle directement avec la version 2.0.0.

npm install --save @ng-bootstrap/[email protected]

21
Azac

Vous devez utiliser Angular 6.0.0 ou version ultérieure avec ng-bootstrap> = 2.0.0. npm/yarn install devrait vous avoir averti pendant l’installation.

Revenir à ng-bootstrap 2.0.0 est pas une solution, car vous serez tout simplement coincé avec cette version d’une bibliothèque et vous ne recevrez aucune mise à jour/correction 

Pour résoudre correctement ce problème, vous devez soit:

  • mettre à niveau Angular vers la version 6.0.0 ou ultérieure (recommandé)
  • utilise lates ng-bootstrap toujours compatible avec Angular 5.x (1.1.2) 
12

Changez votre version de ng-bootstrap en "2.0.0"

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

et ensuite npm install & essayez de servir l'application.

J'ai fait face au même problème et la méthode ci-dessus a fonctionné pour moi.

9
Shalika Akalanka

Je suis soudainement confronté au même problème.

Dans mon cas, j'utilisais ng-boostrasp 2.0.0, mais je spécifiais les dépendances de cette façon:

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

Ce qui à un moment donné (basé sur les journaux des versions précédentes réussies: quelque part depuis le 1er juin) a commencé à prendre la version 2.1.0.

J'ai donc changé mon package.json pour choisir exactement 2.0.0:

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

Cela a résolu le problème de moi.

7
EnjiLenin

Après avoir installé la dernière version de ng-bootstrap qui indiquait une erreur lors du service.

Enfin, faire ça

npm install --save @ng-bootstrap/[email protected]

aidé.

0
Athi