私はAngular 5.のマテリアルコンポーネントを使用してプロジェクトで作業しています。ビジュアルコードを更新しましたが、何が起こったのかわかりません。 「Type 'ElementRef'はジェネリックではありません」という問題に直面しています。朝からこの問題に悩まされています。
この行のエラー
_inputElement: ElementRef<HTMLInputElement>;
constructor(toggleGroup: MatButtonToggleGroup, _changeDetectorRef: ChangeDetectorRef, _elementRef: ElementRef<HTMLInputElement>, _focusMonitor: FocusMonitor);
問題は、Angular Material 6を使用していてもAngular 5を使用している場合、このエラーが発生する可能性があると思います。 Angular Material 6 RC 12をインストールすると、Angular 5.x.xバージョンを使用しているときに、Angular 6 Beta 0のピア依存関係を探します。
解決:
PS:彼らはng-conf 2018で、Angular、Angular Material、およびAngular CLIのすべてのバージョン番号がバージョン6以降で同期するので、何が何と互換性があるのかを知ることを発表しましたずっと簡単になりますし、うまくいけば、この問題は二度と起こらないでしょう。
Angular 5アプリケーションのng-bootstrap
で上記と同じエラーが発生していました。
Node_modules/@ng-bootstrap/ng-bootstrap/buttons/radio.d.ts(58,96)のエラー:エラーTS2315:タイプ 'ElementRef'はジェネリックではありません。
package.json
に2.1.0バージョンが"@ng-bootstrap/ng-bootstrap": "^2.1.0"
としてあった
バージョン2.1.0は後のバージョンでサポートされているようですので、パッケージをng-bootstrap
から"@ng-bootstrap/ng-bootstrap": "^1.1.0"
にダウングレードすることにしました
そして、ng s
を実行すると、すべてが期待どおりに機能していました。