Javascript 继承的angular 2组件中的输入属性
我试图通过继承一些具有一些输入属性的基类来实现angular 2中的组件(我已经用它作为实现angular 2组件继承的指南) 简化示例Javascript 继承的angular 2组件中的输入属性,javascript,angular,typescript,inheritance,Javascript,Angular,Typescript,Inheritance,我试图通过继承一些具有一些输入属性的基类来实现angular 2中的组件(我已经用它作为实现angular 2组件继承的指南) 简化示例 export class ComponentBase { @Input() text: string = "base"; } @Component({ selector: "derived-comp", templateUrl: "derived-comp.template.html", providers: [ { provide:
export class ComponentBase {
@Input() text: string = "base";
}
@Component({
selector: "derived-comp",
templateUrl: "derived-comp.template.html",
providers: [
{ provide: ComponentBase, useExisting: forwardRef(() => DerivedComponent) }
]
})
export class DerivedComponent extends ComponentBase {
@Input() dummy: number;
}
在我在派生组件中添加一个新的输入属性(在提供的示例中为dummy)之前,一切都按预期进行。当我这样做时,基类中定义的所有输入属性在运行时都不可见(尽管在编译时一切都正常),并且浏览器控制台中有一个错误,表示这些输入不存在:
无法绑定到“text”,因为它不是的已知属性
“衍生薪酬。”
有没有人在angular 2中遇到过类似的组件继承问题?有人对如何克服它(除了代码的复制粘贴)有什么建议吗?也许在旧版本中这是一个p.i.a.,但现在很容易了。请参见检查此问题,谢谢yurzui!我看过蒂埃里·坦普尔(Thierry Templier)的帖子,但当时我似乎没有仔细阅读。遗憾的是,为了使用ang2组件的继承,您必须使用反射和一些“技巧”。。。