我可以将角度分量类称为类型吗?我看到Ionic使用any
作为组件。在Typescript中是否可以声明一个只需要组件类的参数类型?
我看到了这个问题,但组件在构造函数中没有任何共同之处: Passing class as parameter causes "is not newable" error
答案 0 :(得分:3)
如果它们是动态创建的组件,则Angular提供ComponentRef类。
见这里:https://angular.io/api/core/ComponentRef
静态声明的组件不具有此类。虽然,您可以根据需要将组件标识符作为无类型变量传递,只要将它们导入相关组件/服务即可。如果你正在使用依赖注入,即将一个组件实例注入到它的host指令中,那么'type'就是它的名字,就像这样 -
import { Directive } from '@angular/core'
import { MyNavigatorComponent } from '../components/my-nav.component'
constructor (private navigator: MyNavigatorComponent) {
答案 1 :(得分:1)
事实证明,这目前在TypeScript中是不可能的。装饰器无法更改类的类型,这意味着它们对于类型系统是不可见的。
可以在这里找到更多信息:
答案 2 :(得分:1)
有ComponentType<T>
。
也许会有所帮助。
import { ComponentType } from '@angular/cdk/overlay';