代码之家  ›  专栏  ›  技术社区  ›  Optiq

Angular 13组件的类型是什么?

  •  0
  • Optiq  · 技术社区  · 3 年前

    我正在创建一个组件,该组件通过您可以看到的输入接收另一个组件 in this stackblitz demo 。如果你看看 @Input() ParentComponent 你会看到它被定义为

    @Input() ComponentToEmbed : eComponentType<Component>;
    

    我偶然发现 this StackOverflow question 来自4年前,建议使用 ComponentType<T> ,这就是我尝试它的原因。然而,在我的Angular 13应用程序中,没有这样的东西 ComponentType 当我开始打字时被发现。我看了看医生的页面,没有看到任何提及 组件类型<T> 。我该怎么键入 @Input() 正确地

    0 回复  |  直到 3 年前
        1
  •  2
  •   Vikas RyanSand20    3 年前

    ComponentType<T> 是的一部分 Angular Material CDK

    /** Interface that can be used to generically type a class. */
    export interface ComponentType<T> {
        new (...args: any[]): T;
    }
    
        2
  •  1
  •   A. Milosavljević    3 年前

    基于您的stackblitz示例,它看起来像 Type<Component> 应该做到这一点。

    import { Type } from '@angular/core';
    ...
    
    @Input() ComponentToEmbed : Type <Component>;
    ...