gpt4 book ai didi

angular - 使用其基类将继承组件作为参数传递给方法

转载 作者:行者123 更新时间:2023-12-04 10:53:24 26 4
gpt4 key购买 nike

(我正在构建一个接受继承组件并显示它们的模态系统)

我试图将继承组件传递给使用其基类作为类型的方法。

@Component(...) export class BaseCompComponent implements OnInit

@Component(...) export class ActualComponent extends BaseCompComponent {

  method(b:BaseCompComponent) { }

Calling it like so: method(ActualComponent) --> ERROR

错误:

“typeof ActualComponent”类型的参数不可分配给“BaseCompComponent”类型的参数。
属性“ngOnInit”在“typeof ActualComponent”类型中缺失,但在“BaseCompComponent”类型中需要。

基类实现了这个,我做错了什么?这似乎相当简单的面向对象编程?

(如果问题不清楚,我还在 stackblitz 上写了一个样本

请参阅“Hello”组件第 19 行)

谢谢!

最佳答案

您需要指定 ActualComponent是类型不是对象。

import { Component, Input, Type } from '@angular/core';
import { BaseCompComponent } from './base-comp/base-comp.component'
import { ActualComponent } from './actual/actual.component'

@Component({
selector: 'hello',
template: `<h1>Hello {{name}}!</h1>`,
styles: [`h1 { font-family: Lato; }`]
})
export class HelloComponent {

@Input() name: string;

method(b: Type<BaseCompComponent>) {

}
constructor () {
this.method(ActualComponent);
}
}

关于angular - 使用其基类将继承组件作为参数传递给方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59354909/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com