Je travaille avec un projet utilisant Material Component dans Angular 5.). J'ai mis à jour mon code visuel, mais je ne sais pas ce qui s'est passé. Je suis confronté à un problème. "Le type 'ElementRef' n'est pas générique. "Je suis bloqué sur cette question depuis le matin.
Erreur dans cette ligne
_inputElement: ElementRef<HTMLInputElement>;
constructor(toggleGroup: MatButtonToggleGroup, _changeDetectorRef: ChangeDetectorRef, _elementRef: ElementRef<HTMLInputElement>, _focusMonitor: FocusMonitor);
Je pense que le problème pourrait être si vous utilisez Angular Material 6 mais toujours Angular 5, vous obtiendrez alors cette erreur. Lors de l'installation de Angular Material 6 RC 12, il recherche une dépendance entre homologues pour Angular 6 Beta 0 alors que j'avais une version Angular 5.x.x.
Solution:
PS: Ils ont annoncé à la conférence de presse 2018 qu'à partir de la version 6, tous les numéros de version pour Angular, Angular Material et Angular CLI resteraient synchronisés afin de savoir ce qui allait avec quoi et avec la compatibilité. Ce sera beaucoup plus facile et j'espère que vous ne rencontrerez plus ce problème.
J'obtenais la même erreur que ci-dessus dans ng-bootstrap
dans mon Angular 5.
ERREUR dans node_modules/@ng-bootstrap/ng-bootstrap/buttons/radio.d.ts (58,96): erreur TS2315: le type 'ElementRef' n'est pas générique.
J'avais la version 2.1.0 dans mon package.json
comme "@ng-bootstrap/ng-bootstrap": "^2.1.0"
Il semble que la version 2.1.0 soit prise en charge dans les versions ultérieures. J'ai donc décidé de rétrograder mon paquet ng-bootstrap
à "@ng-bootstrap/ng-bootstrap": "^1.1.0"
Et puis, quand je cours ng s
, tout fonctionnait comme prévu.