Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 继承的angular 2组件中的输入属性_Javascript_Angular_Typescript_Inheritance - Fatal编程技术网

Javascript 继承的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:

我试图通过继承一些具有一些输入属性的基类来实现angular 2中的组件(我已经用它作为实现angular 2组件继承的指南)

简化示例

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组件的继承,您必须使用反射和一些“技巧”。。。