首页 > 解决方案 > Angular 6 - “通用类型 elementref 需要 2 个类型参数”,不能使用它

问题描述

我尝试使用 ElementRef,使用此导入:

import { Component, OnInit, ElementRef, ViewChild } from '@angular/core';

我已尝试按照所有示例中的指示注入构造函数。

constructor(private formBuilder: FormBuilder, private elm: ElementRef) { }

它给了我一个错误:

“通用类型 'elementref t any' 需要 2 个类型参数”

也尝试过以这种方式使用它:

@ViewChild("user") elmUser: ElementRef;

但这会导致同样的错误。

我该如何正确地做到这一点?

标签: angular

解决方案


ElementRef期望Type: T它的nativeElement属性:

class ElementRef<T> {
  constructor(nativeElement: T)
  nativeElement: T
}

尝试像这样使用它:

constructor(
  private formBuilder: FormBuilder, 
  private elm: ElementRef<HTMLElement>
) { }

@ViewChild("user") elmUser: ElementRef<HTMLElement>;

以前可以用。但可能他们最近改变了它。


推荐阅读