Есть ли тип Angular Components при создании интерфейса?

Я создаю в своем приложении интерфейс, имеющий следующую структуру:

export interface Tab {
  name: string;
  selected: boolean;
  html?: string;
  component?: any; // this is a reference to a Angular Component, eg. PhotosComponent, DashboardComponent
}

Однако мне не нравится использовать тип «любой» в моем интерфейсе. component в этом случае может быть любым угловым компонентом в моем приложении, поэтому мне нужен какой-то тип для угловых компонентов. Сначала я попробовал использовать:

import { ComponentRef } from '@angular/core';

export interface Tab<T = any>  {
  name: string;
  selected: boolean;
  html?: string;
  component?: ComponentRef<T>;
}

Однако это приводило к ошибкам машинописного текста во всем моем приложении, поэтому я подумал, прочитав некоторые документы, я мог бы использовать Type, например

import { Type } from '@angular/core';

export interface Tab<T = any>  {
  name: string;
  selected: boolean;
  html?: string;
  component?: Type<T>;
}

Но часть меня считает, что это такой же общий, как any. Есть ли определенный тип для угловых компонентов?

Любой совет будет принят во внимание.

Отвечает ли это на ваш вопрос? Тип угловых компонентов

jonrsharpe 30.03.2021 10:52
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
0
1
21
0

Другие вопросы по теме